我想从上游存储库的分支中提取更改。 我已经使用以下命令设置了上游仓库:
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.
我如何正确解决冲突以能够从上游分支中获取文件?
答案 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
如果您有冲突(看起来确实如此),请解决它们并提交更改。