我正在使用github的git存储库.使用存储库中的所有提交和日志,现在我需要删除特定用户(例如User1)的所有提交.如何删除他的所有提交?
是.手册页git filter-branch提供了一个现成的示例:这将从工作树中删除"Darl McBribe"的所有提交(在您的情况下,这将是User1).
git filter-branch --commit-filter '
if [ "$GIT_AUTHOR_NAME" = "Darl McBribe" ];
then
skip_commit "$@";
else
git commit-tree "$@";
fi' HEAD
Run Code Online (Sandbox Code Playgroud)
其中函数skip_commit定义如下:
skip_commit()
{
shift;
while [ -n "$1" ];
do
shift;
map "$1";
shift;
done;
}
Run Code Online (Sandbox Code Playgroud)
但是,一如既往改变你的回购历史:如果有人在修改之前从回购中撤出,他就会遇到麻烦.
| 归档时间: |
|
| 查看次数: |
680 次 |
| 最近记录: |