AFAIK,git在输入以下命令时执行以下操作:
" git push -u origin master":
这将导致存在3个分支:
这是对的吗?
重新编辑:假设主分支存在于本地计算机中。
提前致谢。
答案 0 :(得分:3)
推送前,master
分支必须存在
这意味着必须在新创建的仓库中完成至少一次提交(正如我在" Why do I need to explicitly push a new branch?"中所解释的那样。)
然后创建remote tracking branch origin/master
和远程upstream repo上的主分支。
至第4点(因为master已经存在),创建的是本地分支master
和upstream branch之间的关联(因此-u
或--upstream-to
origin/master
中的选项.gitconfig
:
[branch "master"]
remote = origin
merge = refs/heads/master
因此,如果我可以让
master
分支直接跟踪远程分支,那么我可以获得哪些好处:"
master
"指向"origin/master
"指向"远程master
"?我有这个额外的中间人分支有什么好处?
您确实可以使用
git push https://<login>@github.com/<login>/<repo> master:master.
在本地分支master
和远程跟踪(origin/master
)之间正式建立跟踪关系的好处是记录推送到(git push
)的位置或从哪里到从(git pull
)合并。