既然我们在拉取时已经指定了远程跟踪分支(也就是上游),为什么还要设置一个远程跟踪分支呢?

问题描述 投票:0回答:1

根据其他的答案和文档,我的理解是,设置一个远程跟踪分支(也就是上游)是为了在拉取时指定远程。遥感分公司 告诉 git 从哪里拉来,推到哪里。但是,我是不是告诉 git,每次我在执行 git pull?

例如与 git pull origin master 我告诉git从远程名为 origin 和分支机构 master 在该远程。在这种情况下,有一个远程跟踪分支有什么用呢?

我知道它决定了哪个远程分支 git status 报告,我当前的本地分支领先或落后。

我的目标是创建一个设置,从原来的分支中提取并推送到我的账户上的分叉。到目前为止,我能想到的就是设置两个远程。一个到原始仓库(上游),一个到我的分叉(原点)。因此,我可以 git pull upstream master 用于提取最新的代码和 git push origin master 来推送我的修改。

看来设置远程跟踪分支并没有什么实际作用。

git github git-push git-pull
1个回答
2
投票

它作为默认值。对于大多数人来说,在大多数情况下,他们一般都是从一个远程repo拉取和推送,而较少或从不从另一个远程repo拉取和推送。

比如,我有一个父亲的GitHub repo的分叉。DomingoMontoya/sword-designs.git 在我的账户上。InigoMontoya/sword-designs.git. 在我的笔记本上,我克隆了后者,这就意味着 git clone 非常方便地自动命名 origin 并设置为我本地克隆的远程跟踪分支。这意味着在我工作的时候,我可以非常方便地将提交的内容推送到我的 GitHub 仓库中,只需两个字。git push. 我不需要记得输入 git push origin或记得我是否给我的默认远程 origingithubupstream.

有时候我在旅行寻找六指人的时候有了一个设计想法,我就会把它从手机上的clone推送到我的GitHub repo上。回家后,我只需输入 "git pull "即可。此外,我的朋友Fezzik有时也会通过Pull Request把想法贡献到 ,一旦合并,我也会 git pull 他们到我的本地克隆。

偶尔我 git fetch upstream 以获取我父亲的回帖的最新信息,但遗憾的是,因为他已经去世了"■▄▄■▓,所以什么都没有下来。我还是这样做,以此来纪念他。或者说我有一些不合逻辑的希望,他真的没有死。

来自 git help remote:

请注意,push URL和fetch URL虽然可以有不同的设置,但仍然必须指向同一个地方。你推送到推送URL的内容应该是你立即从获取URL获取时看到的内容。如果你试图从一个地方(例如你的上游)获取并推送到另一个地方(例如你的发布库),请使用两个不同的远程。

© www.soinside.com 2019 - 2024. All rights reserved.