推送到bitbucket后,我的同事提交被删除,并在bitbucket newsfeed上显示一条消息
stripped 6f9de58aa748 from projektA
4 hours ago
stripped 54dae89de600 from projektA
4 hours ago
stripped e04022989a9d from projektA
...
我如何解救提交? Git真的是一个允许删除提交的版本控制系统吗? 这是由于--force?
答案 0 :(得分:10)
我如何解救提交?
很遗憾,您的网站上无法做任何事情来恢复这些提交(details)。您需要联系BB服务团队,因为他们只能恢复这些提交。
Git真的是一个允许删除提交的版本控制系统吗?
配置时如此。您必须将receive.denyNonFastForwards
设置为true
才能在服务器上的存储库中禁用此行为(这是使用git init
选项运行--shared
时的默认行为,但为false否则)。
这是由于--force?
是的,在git push
上使用force参数确实会使服务器端git禁用安全检查,如果你的新分支头丢弃了其他提交,receive.denyNonFastForwards
为假。
答案 1 :(得分:4)
如果其他人发现这个帖子疯狂地搜索“bitbucket stripped commit”,就像我一样:
我设法通过these instructions跟踪我的本地。
然后我再次推到bitbucket并恢复了剥离的提交。答案 2 :(得分:0)
我们最近也遇到过这个问题。我必须说,相当烦人。但在我们的例子中,剥离的提交在原始用户再次推送后立即恢复。我们为避免再次发生这件事而做的另一件事是禁用"历史重写"在有问题的分支上。
希望这有助于将来面对此事的人!