当我使用Egit将某些内容推送到Bitbucket中的团队时(我们都是管理员),任何成员的上一篇文章都会被删除。如果他们推动其他成员,也会发生同样的事情。
我使用此配置:
一切都运作良好但是,有什么想法解决这个问题?
答案 0 :(得分:1)
为什么选中“强制更新”?
通常情况下(未配置“强制更新”时),在您放弃其他人的更改的情况下,服务器会使用“非快进”消息拒绝推送。在这种情况下,您必须首先将远程更改合并到本地分支,然后再次推送。有了这个,其他的变化就会得到保留。
但是当您选中“强制更新”并推送分支时,会发生的情况是远程存储库上的分支更新为指向它在本地分支上指向的相同提交。即使你的分支落后或偏离远程分支,也会发生这种情况,导致它有效地覆盖/丢弃其他人的提交。
所以你想要的是为refs/heads/*
禁用“强制更新”(head是分支的另一个词)。另请参阅git push
的帮助中的Note about fast-forwards。
注意:在某些服务器软件中,可以配置存储库,以便拒绝这种“非快进推送”(无论客户端的强制标志如何)。但是Bitbucket似乎还没有支持,请参阅this issue。