git remote -v输出标签(获取)和(推送)用于原始和上游查询

时间:2016-06-20 10:31:41

标签: git github

我正在努力理解分叉和为项目概念做出贡献。 这样做时使用命令git remote -v;设置上游。

我有几个相关的查询

1)括号(fetch)和(push)的含义是什么。我发布谷歌搜索的壁橱答案在https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes

2)如果上游有这两个标志,是否意味着我可以在没有提交PR的情况下推送原始回购?

谢谢&问候, 维克拉姆

我为此查询获得了更多信息。编辑问题本身无法在评论部分添加:“当您运行git remote -v时,它会显示您正在跟踪的存储库列表。 这些记录总是有两个。一个用于推送,一个用于提取。

这与您的安全权限分开。 创建分支时,会将两个远程添加到此列表中。一个用于GitHub.com上的存储库,另一个用于GitHub.com上的分叉存储库(父级)。

安全权限的处理方式不同,只有在进行提取或提取时才会检查。如果您的权限随时发生变化,则在执行实际的推送或提取时进行检查。

有关遥控器的更多信息,请点击此处: http://gitref.org/remotes/

1 个答案:

答案 0 :(得分:2)

  1. 每个远程定义了两个 1 URL。让我们来看看他们的例子:

    $ git remote -v
    origin  https://github.com/schacon/ticgit (fetch)
    origin  https://github.com/schacon/ticgit (push)
    [snip]
    $ git remote add pb https://github.com/paulboone/ticgit
    $ git remote -v
    origin  https://github.com/schacon/ticgit (fetch)
    origin  https://github.com/schacon/ticgit (push)
    pb  https://github.com/paulboone/ticgit (fetch)
    pb  https://github.com/paulboone/ticgit (push)
    

    首先,有一个远程origin,它定义了两个URL。然后他们添加了另一个遥控器pb。添加(和创建)这个新遥控器的行为增加了两个URL。

    fetch 网址是git fetch次尝试。

    推送网址是git push次尝试。

    在这种特殊情况下,非常常见的是,两个URL都是相同的 - 事实上,您只需列出一个URL,它将自动用于提取和推送。如果由于某种原因 2 你想要从一个地方获取但是推送到另一个地方,你可以简单地将两个网址设置为不同。

  2. 不,但这并不意味着你也不能。拥有多个网址和/或多个遥控器,以及权限 使用这些网址之间没有联系。

  3. 1 实际上它至少两个,但除了非常不寻常的情况外,最好只设置 两个。如果你有两个以上,事情会变得非常混乱。

    2 例如,假设您在一家拥有多个获取镜像的大公司工作。你在伦敦的办公地点 - 不是纽约办事处,不是东京办事处,而不是圣何塞办事处。 SJ办公室拥有所有主要(不仅仅是镜像)存储库,并且git push必须去哪里,但是没有理由一直直接去圣何塞。对于所有50名伦敦办公室用户来说,从伦敦办公室镜像中获取效率更高。因此,您将系统指向london-server.bigcorp.com,而不是sj-server.bigcorp.com;但是你把它设置为推送到sj-server.bigcorp.com。