我有一个主题分支(master
)有很多变化。在本主题分支的整个历史中,对某个文件进行了大量更改。如何在我的主题分支的整个历史记录中删除对此文件的所有更改?
补充说明:
- 请注意,该文件在主题分支创建之前就已存在。我不想删除文件本身。
- 我有几个解决方案,但到目前为止它们看起来都很乏味。我会将它们作为单独的答案发布。
git filter-branch
能以某种方式用于此吗?- 我的主题分支包含大约...比如说...60 次提交。
最佳答案
使用 git filter-branch
:
$ git checkout topic-branch
$ git filter-branch --index-filter 'git checkout master -- myfile' master..HEAD
关于git - 仅从单个分支而不是整个存储库中删除文件的历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19000552/