如何从历史记录中的每个提交中删除文件夹,而不是特定作者的文件夹?
示例:
作者B
和app/
都修改了文件夹B
。我需要删除(在历史记录中)A
对文件夹的所有贡献,而不是def order(lst):
if lst == [] or len(lst) == 1:
return lst
elif lst[0] < order(lst[1:])[0] or lst[0] == order(lst[1:])[0]:
return [lst[0]] + order(lst[1:])
return order(lst[1:]) + [lst[0]]
的贡献。
答案 0 :(得分:3)
您可以使用BFS的git filter-branch
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 `