摆脱提交的文件并将两次提交推到 HEAD 后面

Posted

技术标签:

【中文标题】摆脱提交的文件并将两次提交推到 HEAD 后面【英文标题】:getting rid of file commited and pushed two commits behind HEAD 【发布时间】:2021-08-01 05:57:55 【问题描述】:

我有一种情况,在过去的两次提交中,我已经从另一个提交中恢复了更改,在该恢复提交中,我还提交了 package.json 和 package-lock.json,现在我需要在我重新设置为基础之前摆脱它们掌握并获得我的 PR 批准。我怎样才能在不过夜当前提交的文件的情况下实现这一点,我的意思是不恢复到我提交了那些不需要的文件的提交?

非常感谢

【问题讨论】:

【参考方案1】:

最简单的解决方案是在您所在的位置创建一个新的提交,删除这些文件。

git rm package.json package-lock.json
git commit

如果有这么多提交是个问题,您可以使用rebase -i 重新排序和/或压缩提交。但在大多数情况下,简单的解决方案就可以了。然后你可以将你的分支变基为master,你的 PR 可以只包含所有的提交,包括你删除不需要的文件的那个。

在某些项目中,上游维护者(批准和合并您的 PR)将执行压缩和/或重新排序提交的工作,而不是要求您这样做。

【讨论】:

那是完美的 :)) tkank 你! @Seven 不要忘记投票并接受答案:) 感谢@JoelFan 的提及,我不知道在堆栈溢出时应该如何处理 :) 再次感谢

以上是关于摆脱提交的文件并将两次提交推到 HEAD 后面的主要内容,如果未能解决你的问题,请参考以下文章

Git 将本地代码推到 Coding 远程仓库

Git 导出某两次提交之间的差异文件

git 提交 作者 可以修改吗

#yyds干货盘点#Git学习-如何修改已经提交的记录

如何仅列出在两次提交之间更改的文件的名称

Git:显示两次提交之间的总文件大小差异?