解决Git 变基后的合并冲突 - GitHub Docs
文章推薦指數: 80 %
当您执行git rebase 操作时,通常会移动提交。
因此,您可能会遇到引入合并冲突的情况。
这意味着您的两个提交修改了同一个文件中的同一行,而Git 不知道要应用哪个 ...
SkiptomaincontentGitHubDocsAllproducts入门快速入门HelloWorldSetupGit创建仓库复刻仓库GitHubflow参与项目社交化CommunicatingonGitHubGitHub词汇表Git备忘清单Learningresources登记GettingstartedwithyourGitHubaccountGettingstartedwithGitHubTeamGettingstartedwithGitHubEnterpriseCloud了解GitHubGitHub’sproductsDocsversionsGitHub语言支持TypesofGitHubaccounts访问权限GitHubAdvancedSecurityGitHub计划的更改注册GitHubSignupforanewGitHubaccountVerifyyouremailaddressEnterpriseCloudtrialEnterpriseServer试用版使用GitHub功能预览支持的浏览器GitHubCLIGitHubDesktopGitHubMobile键盘快捷键GitHubCommandPalette连接问题在GitHub上编写开始在GitHub上写入在GitHub上编写和格式化基本格式语法使用高级格式使用表格组织的数据折叠部分创建代码块创建图表数学表达式自动链接的引用附加文件代码的永久链接在议题和拉取请求中使用关键字处理已保存回复关于已保存回复创建已保存回复编辑已保存回复删除已保存回复使用已保存回复与gists共享内容Creatinggists复刻和克隆Gist导入项目导入代码到GitHub关于GitHub导入工具使用GitHub导入工具更新作者GitHub导入工具本地导入仓库Addlocallyhostedcode代码迁移工具在GitHub上使用SubversionSubversion与Git差异Subversion客户端支持GitHub支持的属性探索项目为开源做贡献保存有星标的仓库关注他人Followingorganizations开始使用Git设置用户名缓存凭据Git密码macOSKeychaincredentialsGit工作流程Aboutremoterepositories管理远程仓库关联文本编辑器处理行结束忽略文件使用Git关于Git推送提交到远程从远程获取更改Non-fast-forwarderror拆分子文件夹关于Git子树合并关于Git变基Git变基变基后解决冲突名称中的特殊字符Customizeyourworkflow探索集成关于集成关于web挂钩AboutGitHubMarketplaceExtensions&integrations安装Marketplaceapp安装应用程序个人帐户安装应用组织GitHub上的隐私GitHub对您的数据的使用请求帐户存档ManagedatauseforprivaterepoGitHub存档计划Wepublishfrequentupdatestoourdocumentation,andtranslationofthispagemaystillbeinprogress.Forthemostcurrentinformation,pleasevisittheEnglishdocumentation.解决Git变基后的合并冲突当您执行gitrebase操作时,通常会移动提交。
因此,您可能会遇到引入合并冲突的情况。
这意味着您的两个提交修改了同一个文件中的同一行,而Git不知道要应用哪个更改。
在使用gitrebase重新排序和操作提交后,如果发生合并冲突,Git会告知您,并将以下消息打印到终端:
error:couldnotapplyfa39187...somethingtoaddtopatchA
Whenyouhaveresolvedthisproblem,run"gitrebase--continue".
Ifyouprefertoskipthispatch,run"gitrebase--skip"instead.
Tocheckouttheoriginalbranchandstoprebasing,run"gitrebase--abort".
Couldnotapplyfa39187f3c3dfd2ab5faa38ac01cf3de7ce2e841...Changefakefile
Ifyouprefertoskipthispatch,run"gitrebase--skip"instead.
Tocheckouttheoriginalbranchandstoprebasing,run"gitrebase--abort".
Couldnotapplyfa39187f3c3dfd2ab5faa38ac01cf3de7ce2e841...Changefakefile
在这里,Git告知您哪个提交导致冲突(fa39187)。
您有三个选择:
您可以运行gitrebase--abort完全撤消变基。
Git将您恢复为分支状态如同调用gitrebase之前一样。
您可以运行gitrebase--skip完全跳过提交。
这意味着将不包括由有问题的提交引入的任何更改。
您很少会选择此选项。
您可以解决冲突。
要解决冲突,可以按照从命令行解决合并冲突的标准过程操作。
完成后,您需要调用gitrebase--continue以便Git继续处理变基的其余部分。
延伸文章資訊
- 1實戰版本衝突(Dealing with Conflict) - Practical guide for git users
... 肯定會遇到的一種情況,除了慢慢修正一個接一個Conflict 的選擇之外,以下陳述在幾種情況下可以省時費力的解決方法。 ... git checkout --theirs <confli...
- 2合併發生衝突了,怎麼辦? - 為你自己學Git | 高見龍
git merge dog Auto-merging index.html CONFLICT (content): Merge conflict in index.html ... 這問題看來是...
- 3git遇到衝突了怎麼辦?別緊張,解衝後就好了。 - iT 邦幫忙
git commit -am 'a description only existing in meat branch'; git merge vegetable; git status. As ...
- 4git pull时冲突的几种解决方式- 雪山上的蒲公英 - 博客园
1. 忽略本地修改,强制拉取远程到本地 · 2. 未commit先pull,视本地修改量选择revert或stash · 3. 已commit未push,视本地修改量选择reset或直接merge.
- 5Git 版本控制系統- 分支合併衝突與解決辦法 - Roya's Blog
這一次Push 就成功了,之前我們有說過 git pull 主要會將 git fetch 的內容直接執行 git merge ,這也才導致直接跳出合併的訊息視窗,這樣子看起來是不是 ...