拉入不同的Git分支

拉入不同的Git分支,git,Git,假设我创建了一个回购协议,它有一个分支叫做master。如果其他人提出回购协议并推动新的分支机构B,那么我在不覆盖本地主分支机构的情况下在本地引入B的最佳方式是什么?我是否在本地切换到分支B,然后将更改拉入?我的猜测是,如果我没有显式地在本地切换分支,那么如果我从远程分支B引入更改,那么我将用B覆盖本地主分支。这里的最佳选项是什么?您可以使用git fetch origin branchB从branchB获取所有提交,而无需修改master或您的工作目录 如果您想将更改应用到主机,您可以在主机分

假设我创建了一个回购协议,它有一个分支叫做master。如果其他人提出回购协议并推动新的分支机构B,那么我在不覆盖本地主分支机构的情况下在本地引入B的最佳方式是什么?我是否在本地切换到分支B,然后将更改拉入?我的猜测是,如果我没有显式地在本地切换分支,那么如果我从远程分支B引入更改,那么我将用B覆盖本地主分支。这里的最佳选项是什么?

您可以使用
git fetch origin branchB
branchB
获取所有提交,而无需修改
master
或您的工作目录


如果您想将更改应用到
主机
,您可以在
主机
分支上使用
git merge FETCH\u HEAD
合并它们。这将使用
master
branchB
中的所有更改创建一个新的提交
FETCH\u HEAD
是最后一次获取的提交。

您可以使用
git FETCH origin branchB
branchB
获取所有提交,而无需修改
master
或工作目录

git fetch origin
git checkout --track origin/<remote_branch_name>
如果您想将更改应用到
主机
,您可以在
主机
分支上使用
git merge FETCH\u HEAD
合并它们。这将使用
master
branchB
中的所有更改创建一个新的提交
FETCH\u HEAD
是最后一次获取的提交。

git FETCH origin
git fetch origin
git checkout --track origin/<remote_branch_name>
git签出——跟踪原点/
git获取来源
git签出——跟踪原点/

您可以执行一个
git-fetch-origin-branchname
。 通过执行git pull origin branchname 您可以合并两个分支的更改。安装像kdiff3这样的合并工具。
您可以将这两者集成起来,按照下面的操作进行您可以执行
git-fetch-origin-branchname
。 通过执行git pull origin branchname 您可以合并两个分支的更改。安装像kdiff3这样的合并工具。
你可以将两者结合起来,遵循这个

我想当你写“[某人]推到一个新的分支B”时,你的意思是他们推到他们的分支回购,而不是原始回购
来源

您不需要从源站获取
B
,而需要从它们的fork获取:

git fetch <url/to/their/fork/repo> B
现在,您不必在相当长的分支名称上运行
git checkout
,只需
git checkout B

请记住,
pull
只是
fetch
+
merge
,而
merge
发生在当前签出的分支上。您的猜测是正确的,如果您在签出
master
的同时运行
git pull
,您将把所拉分支的内容合并到
master
中。但这并不是真正的覆盖,而是将提交添加到
master


如果您打算更多地使用他们的fork repo,您可以将其添加为远程:

git remote add their_fork <url/to/their/fork/repo>

我想当你写“[某人]推到一个新的分支B”时,你的意思是他们推到他们的分支回购,而不是原始回购
origin

您不需要从源站获取
B
,而需要从它们的fork获取:

git fetch <url/to/their/fork/repo> B
现在,您不必在相当长的分支名称上运行
git checkout
,只需
git checkout B

请记住,
pull
只是
fetch
+
merge
,而
merge
发生在当前签出的分支上。您的猜测是正确的,如果您在签出
master
的同时运行
git pull
,您将把所拉分支的内容合并到
master
中。但这并不是真正的覆盖,而是将提交添加到
master


如果您打算更多地使用他们的fork repo,您可以将其添加为远程:

git remote add their_fork <url/to/their/fork/repo>

在本地存储库中得到更改后,您到底想做什么?您不会覆盖master,您会在master分支中创建一个新的合并提交(如果合并不是快进的)。在本地存储库中得到更改后,您到底想做什么?您不会覆盖master,您将在主分支中创建一个新的合并提交(如果合并不是快进的)。