在合并/变基时,通常会遇到以下场景:
- 遇到一些冲突
- 解决重要的冲突,并将它们移动到索引中
接下来就会有一堆未暂存的垃圾数据,我只想保留 HEAD 版本。理想情况下,我可以直接执行 "git commit && git reset --hard" 命令,但是只要还有未合并的东西,git 就不允许我提交。我尝试了 "git stash save --keep-index",但失败了。我尝试了 "git diff | patch -Rp1" (和各种变形),但都无法满足我的需求。似乎没有任何 "git reset" 模式与我想要的匹配。
肯定有一种方法可以说:“我已经得到了我想要的结果,只需要丢弃其余的东西”。
接下来就会有一堆未暂存的垃圾数据,我只想保留 HEAD 版本。理想情况下,我可以直接执行 "git commit && git reset --hard" 命令,但是只要还有未合并的东西,git 就不允许我提交。我尝试了 "git stash save --keep-index",但失败了。我尝试了 "git diff | patch -Rp1" (和各种变形),但都无法满足我的需求。似乎没有任何 "git reset" 模式与我想要的匹配。
肯定有一种方法可以说:“我已经得到了我想要的结果,只需要丢弃其余的东西”。
git checkout HEAD -- ....
,就像“未暂存的垃圾...保留HEAD版本”一样。我已经编辑了答案,试图让它更清晰明了。 - PeterSW