git push
принимает два дополнительных аргумента:
- имя пульта , например
origin
- имя ветви , например
master
или login
То есть вы хотите:
git push origin login
Важно разделить эти две концепции: remote like origin
- это короткое имя, которое вы и Git используете для отслеживания более длинного имени, например https://github.com/some/repo.git
или ssh://git@github.com/some/repo.git
, которое полностью отличается от имени филиала .
Что сбивает с толку, так это то, что помимо этих понятий и терминов - remote и branch - существует третья концепция, описываемая другой последовательностью слов, обычно записываемой как ветвь удаленного отслеживания . 1 Эта третья концепция включает строки вида origin/master
и origin/login
. Когда вы пишете origin login
и когда вы должны писать origin/login
.
, может возникнуть путаница.
Хитрость заключается в том, чтобы просмотреть документацию и внимательно следить за тем, что там написано: remote или branch . К сожалению, документация не использует ни один из этих терминов, потому что это на самом деле особые случаи даже более общего вида. Итак, документация (сейчас Git 2.19 2 ) гласит:
git push
[--all
| --mirror
| --tags
] [--follow-tags
] [--atomic
] [-n
| --dry-run
] [--receive-pack=<git-receive-pack>
]
[--repo=<repository>
] [-f
| --force
] [-d
| --delete
] [--prune
] [-v
| --verbose
]
[-u
| --set-upstream
] [-o <string>
| --push-option=<string>
]
[--
[no-
] signed
| --signed=
(true
| false
| if-asked
)]
[--force-with-lease
[=<refname>
[:<expect>
]]]
[--no-verify
] [<repository>
[<refspec>...
]]
и два аргумента, о которых я здесь говорю, называются репозиторий и refspec , а не remote и branch . Как, как начинающему, пройти через все это, совсем не ясно.
(Это многословный способ сказать, что документация Git не так уж хороша.)
1 Я предпочитаю термин имя удаленного отслеживания сейчас, потому что, хотя он имеет некоторые аспектов имени ветви, он также имеет некоторые, которые разные. В любом случае, эта третья концепция принимает форму, показанную выше.
2 Более старые версии git push
имеют меньше необязательных аргументов.