几年前,PR发生了意外更改,使更改本来不应该包含在提交中。我想从一次合并中还原一个文件,然后进行几次合并,并且也将其从历史记录中删除,而不会影响最近的合并。该文件本身尚未在其他任何提交中进行编辑。
答案 0 :(得分:0)
您可以使用git filter-branch
git filter-branch --tree-filter 'rm -f <filename>' HEAD
有关更多信息,请参见Pro Git: Rewriting History。
但是BFG Repo Cleaner更容易,更快捷。
bfg --delete-files <filename> <repo dir>
如果您想重写单个提交,现在可以进行几次合并,并保留这些合并,请使用带有合并的交互式基础。
git rebase -i -m -r <the commit>^
在该分支顶部工作的任何人都应该git pull --rebase=merges
在更改的历史记录之上更新他们的工作。
有关更多详细信息,请参见this answer。