Git 上游是回购协议还是分支机构?
我有一个关于上游的问题,我是否遵循了一个正确的流程,用原始回购协议更新我的分支。我应该这样做Git 上游是回购协议还是分支机构?,git,github,github-for-windows,Git,Github,Github For Windows,我有一个关于上游的问题,我是否遵循了一个正确的流程,用原始回购协议更新我的分支。我应该这样做 git remote add upstream 'link' 然后 git fetch upstream 更新该上游/主节点 这意味着,这是一种跟踪回购。是否也可以创建为上游跟踪分支?然后我可以像这样切换 git checkout branchname 这两种方法的区别是什么?要更新fork,master分支: git remote add upstream 'link' git checkou
git remote add upstream 'link'
然后
git fetch upstream
更新该上游/主节点
这意味着,这是一种跟踪回购。是否也可以创建为上游跟踪分支?然后我可以像这样切换
git checkout branchname
这两种方法的区别是什么?要更新fork,master分支:
git remote add upstream 'link'
git checkout master
git fetch upstream
git merge upstream/master
git push origin
要更新fork、master分支,请执行以下操作:
git remote add upstream 'link'
git checkout master
git fetch upstream
git merge upstream/master
git push origin
我认为您将远程存储库与远程跟踪分支混淆了
什么是远程存储库?
给定一个存储库R
,远程存储库是R
的克隆,通常通过网络从物理上与之分离
如果要跟踪远程存储库中发生的情况,可以从R
添加对它的引用。此引用称为远程引用,按照惯例,它通常被命名为origin
从Git术语表:
大多数项目至少有一个他们跟踪的上游项目。默认情况下,原点用于该目的
“上游”是什么意思?
就Git而言,所有的存储库都是平等创建的——然而,在几乎所有的项目中都有一个存储库的层次结构,其中在顶部是每个人都同意的存储库,是规范的存储库
下面是一个例子:
+-------+
| |
| Git | <-- upstream
| |
+---+---+
^
|
+---------+---------+
| |
| Git for Windows | <-- origin
| |
+---------+---------+
^
|
+------+------+
| |
| Your Fork |
| |
+-------------+
使您能够将它们与本地分支(即仅存在于本地存储库中的分支)区分开来
例如:
upstream/master <-- master branch in the upstream repo
origin/master <-- master branch in the origin repo
master <-- local master branch
上游/master我认为你把远程存储库和远程跟踪分支混淆了
什么是远程存储库?
给定一个存储库R
,远程存储库是R
的克隆,通常通过网络从物理上与之分离
如果要跟踪远程存储库中发生的情况,可以从R
添加对它的引用。此引用称为远程引用,按照惯例,它通常被命名为origin
从Git术语表:
大多数项目至少有一个他们跟踪的上游项目。默认情况下,原点用于该目的
“上游”是什么意思?
就Git而言,所有的存储库都是平等创建的——然而,在几乎所有的项目中都有一个存储库的层次结构,其中在顶部是每个人都同意的存储库,是规范的存储库
下面是一个例子:
+-------+
| |
| Git | <-- upstream
| |
+---+---+
^
|
+---------+---------+
| |
| Git for Windows | <-- origin
| |
+---------+---------+
^
|
+------+------+
| |
| Your Fork |
| |
+-------------+
使您能够将它们与本地分支(即仅存在于本地存储库中的分支)区分开来
例如:
upstream/master <-- master branch in the upstream repo
origin/master <-- master branch in the origin repo
master <-- local master branch
上游/master此处上游
为回购。但我不确定我是否知道问题是什么。如果是回购协议,我在git fetch命令期间何时切换到该回购协议的?“切换到该回购协议”?在什么意义上?您可以配置多个(或无)远程回购,当您fetch
时,您可以指定是否要从中提取(或全部提取)。然后再次查看:“当未指定远程时,默认情况下将使用原始远程,除非为当前分支配置了上游分支。”此处upstream
为回购协议。但我不确定我是否知道问题是什么。如果是回购协议,我在git fetch命令期间何时切换到该回购协议的?“切换到该回购协议”?在什么意义上?您可以配置多个(或无)远程回购,当您fetch
时,您可以指定是否要从中提取(或全部提取)。然后再次查看:“如果未指定远程,默认情况下将使用原始远程,除非为当前分支配置了上游分支。”