如何合并从上游分支到分支的分支

时间:2018-10-25 03:52:35

标签: git merge git-fetch

我想从上游存储库的分支中提取更改。 我已经使用以下命令设置了上游仓库:

git remote add upstream http://URL-of-master-repo.git 

然后我尝试使用

进行更改
git checkout my-local-branch
git fetch upstream remote-branch
git merge upstream/remote-branch

但是文件仍然没有出现在磁盘上,但是发生冲突:

Auto-merging minimal-build-config.cmake
CONFLICT (content): Merge conflict in minimal-build-config.cmake
Automatic merge failed; fix conflicts and then commit the result.

我如何正确解决冲突以能够从上游分支中获取文件?

1 个答案:

答案 0 :(得分:1)

一个好的做法是拥有这种结构,看起来像您一样,但是为了澄清起见,可以很好地进行解释:

origin  https://github.com/your-username/forked-repository.git (fetch)
origin  https://github.com/your-username/forked-repository.git (push)
upstream    https://github.com/original-owner-username/original-repository.git (fetch)
upstream    https://github.com/original-owner-username/original-repository.git (push)

因此origin是您的叉子,upstream是原始存储库。 然后使用

git fetch upstream

您将获得此输出

From https://github.com/original-owner-username/original-repository
 * [new branch]      master     -> upstream/master

现在您有了一个名为upstream/master的分支,该分支可以跟踪原始存储库。

然后结帐到您的本地fork分支并合并

git checkout master
git merge upstream/master

如果您有冲突(看起来确实如此),请解决它们并提交更改。

Source