我不小心在我的存储库中通过"unknown"创建了提交,并决定尝试从这里运行命令:
git filter-branch --commit-filter '
if [ "$GIT_COMMITTER_NAME" = "unknown" ];
then
GIT_COMMITTER_NAME="..";
GIT_AUTHOR_NAME="..";
GIT_COMMITTER_EMAIL="...";
GIT_AUTHOR_EMAIL="...";
git commit-tree "$@";
else
git commit-tree "$@";
fi' HEAD
Run Code Online (Sandbox Code Playgroud)
起初我觉得一切都很好,直到我在gitk中注意到,在运行之前的每个提交都是重复的,而不是像我原先想的那样简单地编辑.
有可能清理它吗?
编辑:好的,gitk显示旧的提交(混合了"未知"的提交者)和新提交(重写的提交),在中途分开一定点.想想一堆提交,然后复制(和编辑),并堆叠在原始提交之上.我想要做的就是尽可能删除原来的.
答案是文件输入.git/refs/original
,以及我发现的命令应该如何结束,HEAD
而不是--tag-name-filter cat -- --all
.
欢呼_Vi和来自#git
渠道的仓鼠寻求帮助.
归档时间: |
|
查看次数: |
3061 次 |
最近记录: |