赞
踩
举例:在本地仓库有个A分支, A分支上有 A1,A2 两笔commit ,远程仓库上A分支有 A1、A2、A3三笔commit,这个时候我在本地执行git push -f 强推覆盖掉远程仓库,远程仓库分支状态是A分支A1、A2两笔commit ,这个时候A3 commit就会被丢弃掉。
有些git仓库有gc机制,会保留这种commit 在服务器一段时间,即可以查看提交记录和代码,但是不能拉取下来,等到一段时间后,系统机会gc掉,这笔commit也就不会在存在了。
最后,如果有人基于这笔A3打了tag就会有问题,会拉取不到。要解决的话,需要将A3这笔commit 重新push,或者直接在远程仓库基于A3分支拉新的分支出来,重新打tag。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。