我有一个内部gitlab存储库。
存储库托管了许多项目。
其中一些项目是定制的外部开源项目。
我希望提交历史记录仅反映内部完成的提交。
那么如何删除原作者及其提交的名称,以便它不会出现在gitlab的分析历史中。
答案 0 :(得分:2)
要删除旧提交,请使用git checkout --orphan
示例:
提交历史记录:
* 5 History you want to keep
* 4 History you want to keep
* 3 First commit you want to keep
* 2 Commit you want to delete
* 1 Commit you want to delete
Git命令:
git checkout --orphan new_root 2
git commit -m'truncated history'
git rebase --onto new_root 2 master
git branch -D new_root
将2替换为您想要删除的最后一次提交的哈希值。
您必须使用git push origin master --force
更新服务器上的代码。所有提交的哈希都将更新,因此您需要更新任何功能分支。
答案 1 :(得分:0)
我刚删除了.git
文件并执行了新的git init。
此解决方案的问题是:
它删除了包括我团队完成的所有git提交。
你会失去你可以学到的所有历史记录。
最好保留备份。
答案 2 :(得分:-1)
修改git历史记录的最简单方法之一是filter branch
使用类似的东西,并根据您的使用情况进行调整:
push --force
不要忘记之前备份您的存储库,并且您必须使用{{1}},因为它会更改提交ID。