【发布时间】:2021-08-01 05:57:55
【问题描述】:
我有一种情况,在过去的两次提交中,我已经从另一个提交中恢复了更改,在该恢复提交中,我还提交了 package.json 和 package-lock.json,现在我需要在我重新设置为基础之前摆脱它们掌握并获得我的 PR 批准。我怎样才能在不过夜当前提交的文件的情况下实现这一点,我的意思是不恢复到我提交了那些不需要的文件的提交?
非常感谢
【问题讨论】:
标签: git git-commit git-revert
我有一种情况,在过去的两次提交中,我已经从另一个提交中恢复了更改,在该恢复提交中,我还提交了 package.json 和 package-lock.json,现在我需要在我重新设置为基础之前摆脱它们掌握并获得我的 PR 批准。我怎样才能在不过夜当前提交的文件的情况下实现这一点,我的意思是不恢复到我提交了那些不需要的文件的提交?
非常感谢
【问题讨论】:
标签: git git-commit git-revert
最简单的解决方案是在您所在的位置创建一个新的提交,删除这些文件。
git rm package.json package-lock.json
git commit
如果有这么多提交是个问题,您可以使用rebase -i 重新排序和/或压缩提交。但在大多数情况下,简单的解决方案就可以了。然后你可以将你的分支变基为master,你的 PR 可以只包含所有的提交,包括你删除不需要的文件的那个。
在某些项目中,上游维护者(批准和合并您的 PR)将执行压缩和/或重新排序提交的工作,而不是要求您这样做。
【讨论】: