Мерзавец, толкаясь к пульту - PullRequest
2 голосов
/ 19 января 2012

Предположим, я нахожусь в локальной азбуке с филиалами branch_A и branch_B.

От repo_A, чем отличаются:

 - git push origin
 - git push origin branch_A
 - git push origin branch_A:branch_A

Причиной для вопроса является следующая последовательность событий, я нахожу удивительным:

11:05:56 ~/blah $ git push origin
Counting objects: 31, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (13/13), done.
Writing objects: 100% (17/17), 1.28 KiB, done.
Total 17 (delta 10), reused 0 (delta 0)
To ssh://git@mygit/myrepo.git
   141fc0d..d42c3b6  branch_B -> branch_B    // While i was in branch_A

11:06:02 ~/blah $ git branch
  branch_A
* branch_B 

1 Ответ

1 голос
/ 19 января 2012

Поведение по умолчанию git push origin (если вы не настроили параметр конфигурации push.default) - это нажать на все "совпадающие" ветви. Это означает, что каждая локальная ветвь перемещается в одну с тем же именем в источнике , если ветвь с таким именем уже существует в источнике . В этом случае кажется, что у вас есть branch_B ветвь в origin, а также локально.

Два других варианта, которые вы цитировали:

git push origin branch_A
git push origin branch_A:branch_A

.... фактически эквивалентны - если вы не включите : в refspec, чтобы отделить имя источника от имени получателя, это предполагает, что вы подразумеваете одно и то же имя в источнике и получателе.

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