如何从gitlab中完全删除提交?

时间:2018-04-04 09:58:39

标签: git gitlab commit git-reset

我在我的git repo中提交并推送它,但不小心它包含了我们生产机器的一些密码。所以我删除了提交:

git reset --hard HEAD~1
git push --force

确实从提交列表中删除了提交,但是gitlab上提交的url仍然显示了提交的来源。

我不确定这是否仍然保存gitlab服务器上的提交内容的git,或以某种方式存储提交内容的gitlab数据库,但我真的需要完全删除该提交gitlab服务器。

有人知道从gitlab中完全删除提交及其内容的方法吗?

1 个答案:

答案 0 :(得分:0)

您应该首先查看GitLab存储库的Web界面。如果分支在那里,您可以通过运行

删除它
git push <remote> :<branch>

这会将<branch>替换为指定遥控器上的冒号前面的内容,即什么都没有。 如果你不能使用web界面检查分支是否在远程,你应该能够获得所有分支或者至少使用git fetch之类的命令列出它们,不知道如何。

如果分支机构没有列在遥控器上,你只需拥有遥控器上的内容的本地副本,你就可以删除该副本,例如,

git branch -D <remote>/<branch>

我不能代表GitLab的内部,所以我不能保证如果你这样做会破坏数据,所以你应该按照已经建议的那样替换所有密码。