Как начать совершать через git в битбакет - Не видеть изменений
Возможно, я собираюсь сделать это неправильно, но я следую git учебникам, как есть. У меня есть репозиторий на битбакете под названием "testrepos", и я пытаюсь работать с ним.
Сначала я клонирую его с помощью git clone https://[email protected]/my_username/testrepos.git
Теперь repo пуст, поэтому я создал файл main.cpp. Затем я запускаю "git добавить main.cpp". Если теперь я запустил git status
, я вижу, что есть новый файл main.cpp, который должен быть зафиксирован.
Наконец, я запустил git commit -m 'First commit'
. Есть 0 изменений, 0 вставок и 0 удалений! Почему мои файлы не фиксируются? Я использую push
и pull
.
edit Вот полный журнал:
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.
[email protected] ~
$ cd git
[email protected] ~/git
$ git clone https://[email protected]/my_username/testrepos.git
Cloning into testrepos...
Password:
warning: You appear to have cloned an empty repository.
[email protected] ~/git
$ cd testrepos/
[email protected] ~/git/testrepos (master)
$ git pull
Password:
Your configuration specifies to merge with the ref 'master'
from the remote, but no such ref was fetched.
[email protected] ~/git/testrepos (master)
$ git add temp.cpp
[email protected] ~/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
#
[email protected] ~/git/testrepos (master)
$ git commit -m 'Committing temp file'
[master (root-commit) 5d659df] Committing temp file
Committer: unknown <[email protected](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 [email protected]
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
[email protected] ~/git/testrepos (master)
$ git pull
Password:
Your configuration specifies to merge with the ref 'master'
from the remote, but no such ref was fetched.
[email protected] ~/git/testrepos (master)
$ git push
Password:
Everything up-to-date
Ответы
Ответ 1
Вам действительно нужно сделать git push origin master
, а не просто git push
. Это связано с тем, что поведение по умолчанию git push
заключается в том, чтобы переместить каждую ветвь на одно с тем же именем на удаленной стороне, если существует удаленная ветвь с этим именем. В этом случае ваш репозиторий BitBucket полностью пуст (без ветки master
, так как нет коммитов), поэтому никакие ветки не будут толкаться по умолчанию git push
или git push origin
. Ваше нажатие будет работать, если вы выполните:
git push origin master
... но так как это ваш первый толчок, вы должны сделать:
git push -u origin master
... который также устанавливает ветвь master
в origin
как ветку по умолчанию для вашей ветки master
. Вам нужно только один раз использовать эту форму команды.
Ответ 2
Попробуйте git push origin master
.
Ответ 3
Был ли добавлен файл пустым? В сообщении отображается количество файлов изменений и количество вставленных и удаленных строк. Если вы просто добавили пустой файл, git не считает это "измененным" в числах, которые он генерирует. Он, однако, фиксирует файл.
Попробуйте вернуться к битбакету и просмотрите список файлов репозитория в веб-браузере. Вы должны увидеть там свой файл.
Ответ 4
У меня тоже была эта проблема, и я видел много бесполезных советов. Наконец, я сломался и прочитал код для git -pull и git -fetch. В моем случае проблема связана с наличием " tagopt = --tags" в файле конфигурации для удаленного устройства. Кажется, что это приводит к <автоматическому тегу git -fetch ", который имеет плохой побочный эффект усечения файла FETCH_HEAD в некоторых случаях. Это, в свою очередь, приводит к ошибке git -pull с ошибкой:
Ваша конфигурация указывает на объединение с ref 'master' с пульта дистанционного управления, но такой рефлектор не был извлечен.
Я действительно недостаточно уверен в работе с git, если это ошибка или предполагаемое поведение, или просто я не понимаю git очень хорошо. Однако удаление настроек tagopt из моих конфигурационных файлов решило проблему для меня во всех случаях.
Обратите внимание, что это особенно запутанно, потому что вручную "git fetch --tags..." использует другой путь кода, а FETCH_HEAD остается в хорошей форме.
(Я запускаю git версию 1.7.4.1)
Ответ 5
git push -u origin - all
в первый раз
git push origin --all
после
- это то, что указано на bitbucket 101
https://confluence.atlassian.com/display/BITBUCKET/Create+a+repository