Как перенаправить локальные изменения в удаленный репозиторий git на битбакете
Я тестирую Git и Bitbucket.
Я создал репозиторий на Bitbucket и создал локальную копию репо и делаю в нее файлы. Кажется, я не могу оттолкнуть файлы из моего локального репо на удаленное репо.
Вот что я делаю:
git clone https://[email protected]/me/test.git
cd test
touch dummy
git add dummy
git commit dummy -m "my first git commit"
git push
окончательные выходы линии:
Everything up-to-date
и когда я вхожу в систему в Bitbucket, я не могу видеть мой файл-фик.
Что я делаю неправильно?
EDIT:
Выполнение этого сработало:
git push origin master:master
Любые объяснения относительно разницы между этим и простым git push
?
Ответы
Ответ 1
Используйте git push origin master
вместо этого.
У вас есть репозиторий локально, а начальный git push
"нажимает" на него. Это не нужно делать (как локально), и он показывает все как актуальное. git push origin master
указывает удаленный репозиторий (origin
) и расположенную там ветвь (master
).
Для получения дополнительной информации ознакомьтесь с этим ресурсом.
Ответ 2
Это мера безопасности, чтобы избежать нажатия ветвей, которые не готовы к публикации. Говоря свободно, выполнив "git push", будут только те локальные ветки, которые уже существуют на сервере с тем же именем, или ветки, которые были нажаты с использованием синтаксиса localbranch: remotebranch.
Чтобы перенаправить все локальные ветки в удаленный репозиторий, используйте --all
:
git push REMOTENAME --all
git push --all
или укажите все ветки, которые вы хотите нажать:
git push REMOTENAME master exp-branch-a anotherbranch bugfix
Кроме того, полезно добавить -u
в команду "git push", так как это скажет вам, находится ли ваша локальная ветка впереди или за удаленной ветвью. Это отображается при запуске "git status" после git fetch.
Ответ 3
Я с Git загружен из https://git-scm.com/ и установите ssh, следуйте инструкциям fooobar.com/info/15780/....
Как только сгенерированный открытый ключ проверяется в моей учетной записи Bitbucket и, ссылаясь на шаги, описанные в http://www.bohyunkim.net/blog/archives/2518, я обнаружил, что работает только 'git push':
git clone https://[email protected]/me/test.git
cd test
cp -R ../dummy/* .
git add .
git pull origin master
git commit . -m "my first git commit"
git config --global push.default simple
git push
Ответы оболочки следующие:
$ git push
Counting objects: 39, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (39/39), done.
Writing objects: 100% (39/39), 2.23 MiB | 5.00 KiB/s, done.
Total 39 (delta 1), reused 0 (delta 0)
To https://[email protected]/me/test.git 992b294..93835ca master -> master
Он даже работает, чтобы нажать на master to gh-pages в GitHub
git checkout gh-pages
git merge master
git push