Как начать фиксацию через 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 push 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