我在我的git repo中提交并推送它,但不小心它包含了我们生产机器的一些密码。所以我删除了提交:
git reset --hard HEAD~1
git push --force
确实从提交列表中删除了提交,但是gitlab上提交的url仍然显示了提交的来源。
我不确定这是否仍然保存gitlab服务器上的提交内容的git,或以某种方式存储提交内容的gitlab数据库,但我真的需要完全删除该提交gitlab服务器。
有人知道从gitlab中完全删除提交及其内容的方法吗?
答案 0 :(得分:0)
您应该首先查看GitLab存储库的Web界面。如果分支在那里,您可以通过运行
删除它git push <remote> :<branch>
这会将<branch>
替换为指定遥控器上的冒号前面的内容,即什么都没有。
如果你不能使用web界面检查分支是否在远程,你应该能够获得所有分支或者至少使用git fetch
之类的命令列出它们,不知道如何。
如果分支机构没有列在遥控器上,你只需拥有遥控器上的内容的本地副本,你就可以删除该副本,例如,
git branch -D <remote>/<branch>
我不能代表GitLab的内部,所以我不能保证如果你这样做会破坏数据,所以你应该按照已经建议的那样替换所有密码。