Как начать фиксацию через git в bitbucket - не видеть изменений
возможно, я иду об этом неправильно, но я следую учебникам git как есть. У меня есть репозиторий на bitbucket под названием "testrepos", и я пытаюсь работать с ним.
во-первых, я клонирую его с git clone https://my_username@bitbucket.org/my_username/testrepos.git
теперь РЕПО пусто, поэтому я сделал файл под названием main.СРР. Затем я запускаю " git add main.СРР." Если я побегу git status
теперь, я вижу, что есть новый файл с именем main.cpp должен быть совершен.
наконец, я бегу git commit -m 'First commit'
. Есть 0 изменений, 0 вставок, и 0 удалений! Почему мои файлы не фиксируются? Я использую push
и pull
как хорошо.
редактировать вот полный лог:
Welcome to Git (version 1.7.7-preview20111014)
Run 'git help git' to display the help index.
Run 'git help <command>' to display help for specific commands.
chris@EDI ~
$ cd git
chris@EDI ~/git
$ git clone https://my_username@bitbucket.org/my_username/testrepos.git
Cloning into testrepos...
Password:
warning: You appear to have cloned an empty repository.
chris@EDI ~/git
$ cd testrepos/
chris@EDI ~/git/testrepos (master)
$ git pull
Password:
Your configuration specifies to merge with the ref 'master'
from the remote, but no such ref was fetched.
chris@EDI ~/git/testrepos (master)
$ git add temp.cpp
chris@EDI ~/git/testrepos (master)
$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: temp.cpp
#
chris@EDI ~/git/testrepos (master)
$ git commit -m 'Committing temp file'
[master (root-commit) 5d659df] Committing temp file
Committer: unknown <chris@EDI.(none)>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:
git config --global user.name "Your Name"
git config --global user.email you@example.com
After doing this, you may fix the identity used for this commit with:
git commit --amend --reset-author
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 temp.cpp
chris@EDI ~/git/testrepos (master)
$ git pull
Password:
Your configuration specifies to merge with the ref 'master'
from the remote, but no such ref was fetched.
chris@EDI ~/git/testrepos (master)
$ git push
Password:
Everything up-to-date
5 ответов
вам действительно нужно сделать git push origin master
, а не просто git push
. Это связано с тем, что поведение по умолчанию git push
это нажать каждую ветку на одну с тем же именем на удаленной стороне, пока существует удаленная ветвь с таким именем. В этом случае ваш репозиторий BitBucket полностью пуст (без master
ветвь, так как нет коммитов), поэтому никакие ветви не будут выталкиваться поведением по умолчанию git push
или git push origin
. Ваш толчок будет работать, если вы do:
git push origin master
... но так как это ваш первый толчок, вы должны сделать:
git push -u origin master
... который также устанавливает master
филиала в origin
для вышестоящего филиала по умолчанию для master
филиала. Эту форму команды нужно использовать только один раз.
был ли файл, который вы добавили пустым? В сообщении отображается количество файлов изменений, а также количество вставленных и удаленных строк. Если вы только что добавили пустой файл, git не считает это "измененным" в генерируемых им числах. Однако он фиксирует файл.
попробуйте вернуться к bitbucket и просмотреть список файлов репозитория в веб-браузере. Вы должны увидеть там свое досье.
У меня тоже была эта проблема, и я видел много бесполезных советов. Наконец, я сломался и прочитал код для git-pull и git-fetch. В моем случае проблема вызвана наличием "tagopt = --tags" в файле конфигурации для удаленного вопроса. Это, по-видимому, заставляет git-fetch делать "автоматический тег", который имеет плохой побочный эффект усечения файла FETCH_HEAD в некоторых случаях. Это, в свою очередь, приводит к сбою git-pull с ошибкой:
ваша конфигурация указывает на слияние с ref 'master' с пульта, но такого рефери не было.
Я действительно не уверен достаточно с внутренними git, чтобы сказать, если это ошибка или предполагаемое поведение или просто я не очень хорошо понимаю git. Однако, сняв "tagopt " настройки из моих файлов конфигурации решили проблему для меня во всех случаях.
Примечание, это особенно запутанно, потому что вручную работает " git выборка-теги ..."другой путь кода, и FETCH_HEAD остается в хорошей форме.
(Я запускаю git версии 1.7.4.1)
git push-U origin --все
в первый раз
git push origin --все
после
что перечислено на bitbucket 101
https://confluence.atlassian.com/display/BITBUCKET/Create+a+repository