Git “的目的是什么?”;吉特推送-u“;指挥部?
AFAIK,git在输入以下命令时执行以下操作: “git推送-u源主机”:Git “的目的是什么?”;吉特推送-u“;指挥部?,git,Git,AFAIK,git在输入以下命令时执行以下操作: “git推送-u源主机”: Git检查主分支是否位于远程回购中。如果没有,它将创建它 Git确定本地分支和远程分支之间的差异。Git更新远程分支中的“diff” Git还将在本地计算机中创建一个名为“origin/master”的新远程跟踪分支,以跟踪远程分支 Git将名为“master”的非跟踪分支设置为跟踪分支(以便跟踪“origin/master”) 这将导致存在3个分支: 在我的本地机器中跟踪名为“master”的分支(跟踪原点/mas
- 在我的本地机器中跟踪名为“master”的分支(跟踪原点/master)李>
- 本地计算机中名为“源/主”的远程跟踪分支李>
- 远程存储库中名为“master”的远程分支
提前感谢。推送前必须存在
主分支。
这意味着在新创建的repo中必须至少完成一次提交(正如我在“”中解释的)
然后创建原点/master
和远程上的master分支
对于您的第4点(因为master已经存在),所创建的是本地分支master
和.gitconfig
中的-u
或-上游到
选项)origin/master
之间的关联:
[branch "master"]
remote = origin
merge = refs/heads/master
发件人:
因此,如果我可以让master
分支直接跟踪远程分支,我会从中获得什么好处:
“master
”指向“origin/master
”指向“remotemaster
”
有了这个额外的中间人分支机构,我有什么好处
您确实可以使用git push https://www.github.com//master:master.
在本地分支
master
和远程跟踪分支(origin/master
)之间正式建立跟踪关系的好处是记录推送到哪里(git push
)或从哪里合并(git pull
)。Hi.第4点是关于“git push-u”的吗“命令也正确吗?Git真的会将不跟踪分支变成跟踪“源/主”的跟踪分支吗?所以说我们有两种类型的跟踪分支是真的:一种可以跟踪本地分支(主->源/主),另一种可以跟踪远程分支(源/主->远程主)?@Qwerty从某种意义上说是的,但是您不会创建特殊类型的本地主分支<代码>主控
保留主控
。它只有附加到它的附加属性(remote
和merge
),这使得它有一个上游分支<代码>源代码/主代码
是远程跟踪分支。您可以删除master
,并且在您的repo中仍然保留远程跟踪分支origin/master
。因此使用跟踪分支(使用-u选项)的唯一原因是让Git记住下次推送代码时应该将代码推送到哪个远程分支。对吗?@Qwerty是的,默认情况下,本地分支不知道推送到哪里。而Git回购也不知道从何处进行合并(在Git拉取过程中)