我注意到git push origin
的默认行为是"推送所有与本地分支名称和远程名称相同的分支"。
如果我创建一个名为newfeature
的新分支并检出它,git push
会默认将该分支推送到origin
吗?
还是说即使已检出,我仍需要使用git push origin newfeature
命令?
此外,git push HEAD
命令与此有何关系?
默认情况下,只有在远程已经存在名为newfeature
的分支时,它才会推送newfeature
。
您可以通过使用push.default
配置变量来更改此设置。
git push HEAD
本质上是一个简写形式,如果您已经检出了一个分支,则为git push <name of checked out branch>
。
git push HEAD
和git push
具有完全相同的功能,即将已检出的分支推送到远程(只要远程存在具有相同名称的分支)? - eoinocgit push
命令会推送本地所有分支中与远程同名的分支。例如,如果你有本地分支A
、B
和C
,并且远程已经存在A
和C
,那么git push
将会推送A
和C
(但不会推送B
,因为没有匹配的远程B
)。 - Amber