Как перенаправить локальные изменения в удаленный репозиторий 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