Git分支与origin/master分叉,如何撤销多余提交保留本地修改不推送27个差异提交
Git分支分叉问题解决步骤
首先执行命令同步远端最新分支信息到本地,不会修改本地任何内容:git fetch origin
方案1:保留本地提交的历史记录,无额外合并提交
该方案会将你本地独有的1个提交移动到远端27个提交的最顶端,彻底解决分支分叉问题,后续执行git push仅会上传你自己的1个提交,不会重复推送远端已存在的27个提交:
- 执行变基命令:
git rebase origin/master - 若执行过程中出现代码冲突,手动修改冲突文件后执行
git add <冲突文件路径>,再执行git rebase --continue即可完成操作 - 操作完成后执行
git log可查看提交历史,远端27个提交排序在前,你的本地提交排序在后
方案2:删除本地提交的历史记录,保留修改内容
该方案会撤销你本地的1个提交记录,将提交对应的所有修改保留在暂存区,本地分支完全和origin/master对齐,无任何分叉:
- 执行软重置命令:
git reset --soft origin/master - 若需要将暂存区的修改移动到工作区,可额外执行
git reset HEAD .
结果验证
操作完成后执行git status,显示Your branch is up to date with 'origin/master'即代表操作成功。
内容的提问来源于stack exchange,提问作者wasim963
相关产品推荐
相关产品推荐

