我已经阅读了这个基本问题变体的答案,但我仍然感到困惑。 当我输入以下git命令时:
git push remote_repo cool_branch
git如何对待'cool_branch'?
是LOCAL分支,将更改从哪个分支转移到'remote_repo' 库?如果是这样,更改推送到哪个远程分支?
是推送更改的REMOTE分支吗?如果是这样,本地分支将从哪个git获取它将要推送的更改?
这两个选项中哪一个是正确的?
关于“跟踪分支”,根据我的理解,这些是本地分支,“知道”他们从哪个远程早午餐获取,并“知道”他们推送哪些远程分支。我是对的吗?
答案 0 :(得分:0)
cool_branch
是 refspec (请参阅git push refspec
man page)
<refspec>
参数的格式是可选加+
,后跟源对象<src>
,后跟冒号:
,后跟目标引用{ {1}}。缺少
<dst>
表示更新与:<dst>
相同的参考号。
远程跟踪分支是在远程名称空间(<src>
)中创建的分支,它记忆从该分支为该分支获取的最新SHA1。
“本地”跟踪分支是一个本地分支(在refs/remotes/branch1
中),它设置了一个上游分支,意味着与远程跟踪分支相关联。
这是通过refs/heads/aBranch
完成的:请参阅“Make an existing Git branch track a remote branch?”。
查看更多内容:
git branch -u
政策可以影响推送的分支数量。