我正在努力理解分叉和为项目概念做出贡献。 这样做时使用命令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/“
答案 0 :(得分:2)
每个远程定义了两个 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 你想要从一个地方获取但是推送到另一个地方,你可以简单地将两个网址设置为不同。
不,但这并不意味着你也不能。拥有多个网址和/或多个遥控器,以及权限 使用这些网址之间没有联系。
1 实际上它至少两个,但除了非常不寻常的情况外,最好只设置 两个。如果你有两个以上,事情会变得非常混乱。
2 例如,假设您在一家拥有多个获取镜像的大公司工作。你在伦敦的办公地点 - 不是纽约办事处,不是东京办事处,而不是圣何塞办事处。 SJ办公室拥有所有主要(不仅仅是镜像)存储库,并且git push
必须去哪里,但是没有理由一直直接去圣何塞。对于所有50名伦敦办公室用户来说,从伦敦办公室镜像中获取效率更高。因此,您将系统指向london-server.bigcorp.com,而不是sj-server.bigcorp.com;但是你把它设置为推送到sj-server.bigcorp.com。