码云企业版上线禁止 Git 强推功能,避免仓库内容被覆盖

Git 有一个很可怕的特性,就是 -f 参数 —— 强制推送,强行用本地仓库覆盖远端仓库。导致的后果就是文件可能被老的内容给覆盖掉,仓库的历史提交记录丢失等等。

进行强制推送一般是出现在仓库版本冲突的情况下,在团队协同开发中,很多开发者为了省事,直接不负责任的使用 -f 推送,悲剧就这样发生了。

正常的流程就是想办法解决冲突,再行推送。

可是谁身边又没有几个猪队友呢?

—– 以下是广告时间 —–

我们刚为码云企业版客户上线了限制仓库强制推送的功能,从仓库的管理页面中,可以选择“禁止强制推送”。

一旦禁用了强制推送后,如果开发者在推送冲突时使用 -f 参数,就会报如下错误:

denying non-fast-forward refs/heads/master (you should pull first)

该功能目前只对企业客户开放、默认不启用,需要手工开启。

当然我们更建议大家使用 fork + pull requests 进行协作开发,或者设置主分支只读,然后通过 pull requests 进行代码合并。

即刻前往体验码云企业版: https://gitee.com/enterprises