Git 消除冲突操作
记录一次 Git 消除冲突的操作。
前提说明
我们作为下游仓库编辑 example 文件后,向上游发起了 #1 PR。此时如果上游没有合并这份 PR,然后进行了新的改动(例如合并别的 #2 PR ),刚好改动里就包含 example 中我们想要改动的地方,我们提交的 #1 PR 的基础(parent commit)已经不再了。此时就会产生冲突(反之,则不会)。
包含大量冲突的时候还无法在 GitHub 网页上进行操作,只能在本地解决。
操作步骤
1. 克隆 PR 作者的 fork 仓库
git clone https://github.com/anchoringpoint/Ac-Wiki.git cd Ac-Wiki
2. 添加上游(upstream)为原始仓库
git remote add upstream https://github.com/Ac-Wiki/Ac-Wiki.git
3. 切换到 PR 的分支
git checkout patch-2
4. 拉取最新主分支(从 upstream)
git fetch upstream git merge upstream/main
5. 冲突解决后,添加和提交
git add . git commit -m "Resolve conflicts with upstream/main"
6. 推送更新到发起 PR 的分支
git push origin patch-2
Last updated on