мерзавец тогда толкни вопрос - PullRequest
0 голосов
/ 31 августа 2011

Интересно, почему я не могу подтолкнуть к началу Вот шаг за шагом ...

git clone git@github.com:globegit/aRepository.git
cd aRepository
git branch --track mymaster master
git checkout master
git mv oldfile newfile

git status  
- On branch mymaster
- Changes to be committed:
-   (use "git reset HEAD <file>..." to unstage)
-
-   renamed:    oldfile -> newfile
-
git commit -m 'renamed a file'

git status  
- On branch mymaster
- Your branch is ahead of 'master' by 1 commit.  
-  
nothing to commit (working directory clean)  

Отлично и модно, но тогда почему я не могу перенести это изменение на удаленный?

Разве git-mv не считается изменением, так что он показывает, что я в курсе даже
с новым объектом коммита?

git push  
Everything up-to-date  
git push origin master  
Everything up-to-date  

Спасибо за любые объяснения!

Ответы [ 3 ]

0 голосов
/ 31 августа 2011

Поведение по умолчанию:

git push -> git push origin -> git push origin :

git push origin : выдвигает соответствующие ветви: для каждой ветви, существующей на локальной стороне, удаленная сторона обновляется , если на удаленной стороне уже существует ветвь с таким же именем .

Таким образом, ветвь не существует на удаленном компьютере, и она говорит: Everything up-to-date

В вашем списке команд вы написали git checkout master - это должно было быть mymaster? Так как вы, кажется, работаете над моим мастером. Вы должны нажать как:

git push origin mymaster

так что git создаст mymaster на удалённом компьютере.

Или, поскольку вы, кажется, хотите подтолкнуть к мастеру, может быть:

git push origin mymaster:master

или

git push origin HEAD:master

http://www.kernel.org/pub/software/scm/git/docs/git-push.html#OPTIONS

0 голосов
/ 31 августа 2011

вы отправляете моего мастера и пытаетесь подтолкнуть мастера.Это актуально.Если вы хотите отправить mymaster на удаленный мастер, выполните

git push origin mymaster:master

, форма -

git push <where> <yourlocalbranch>:<theremotebranch>
0 голосов
/ 31 августа 2011

Вы зафиксировали изменения в ветви (mymaster), у которой нет удаленной ветви отслеживания, в то время как ваша ветвь, которая отслеживает удаленную сеть (master и origin/master соответственно), не имеет изменений.

Вам придется объединить свои изменения в master, прежде чем вы сможете отправить их в origin/master или в свою ветку mymaster на сервер.

Так что либо:

git checkout master
git merge mymaster
git push

или

git push --set-upstream origin mymaster
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...