Git:从历史记录中删除除一位作者以外的文件夹
Git: remove folder from history except for one author
如何从历史记录中的每个提交中删除一个文件夹,但特定作者的提交除外?
示例:
作者 A
和 B
都修改了文件夹 app/
。我需要删除(在历史记录中)B
对文件夹的所有贡献,而不是 A
的贡献。
您可以使用 git filter-branch
或 BFG
git filter-branch
https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History
git filter-branch --commit-filter '
if [ "$GIT_COMMITTER_NAME" = "<commiter A>" ];
then
// remove any required data and re-commit it again
git commit-tree "$@";
else
git commit-tree "$@";
fi' HEAD `
BFG
https://rtyley.github.io/bfg-repo-cleaner/
如何从历史记录中的每个提交中删除一个文件夹,但特定作者的提交除外?
示例:
作者 A
和 B
都修改了文件夹 app/
。我需要删除(在历史记录中)B
对文件夹的所有贡献,而不是 A
的贡献。
您可以使用 git filter-branch
或 BFG
git filter-branch
https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History
git filter-branch --commit-filter '
if [ "$GIT_COMMITTER_NAME" = "<commiter A>" ];
then
// remove any required data and re-commit it again
git commit-tree "$@";
else
git commit-tree "$@";
fi' HEAD `
BFG
https://rtyley.github.io/bfg-repo-cleaner/