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

getting rid of file commited and pushed two commits behind HEAD

我有这样一种情况,过去的两次提交我已经从另一个提交中恢复了更改,在那个恢复提交中我还提交了 package.json 和 package-lock.json,现在我需要摆脱那些之前我会重新掌握并获得我的 PR 批准。我如何才能在不对当前提交的文件进行过夜处理的情况下实现这一目标,我的意思是不恢复到我提交了那些不需要的文件的提交?

非常感谢

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

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

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

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