为了账号安全,请及时绑定邮箱和手机立即绑定

如题这个问题,麻烦帮忙看看git reset后导致git push需要加-f的问题?

如题这个问题,麻烦帮忙看看git reset后导致git push需要加-f的问题?

蓝山帝景 2021-07-14 15:11:08
打入a补丁,commit后push到服务器,发现a补丁没有完全解决问题,reset掉后打入正确的补丁,commit没问题,push到服务器的时候需要加-f,强制覆盖服务器端的代码。有没有办法在使用reset的同时不需要强制覆盖服务器端的代码?或者在git push -f后会对软件代码集成人员带去什么麻烦?
查看完整描述

2 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

打入补丁A,COMMIT后PUSH到服务器,这时候HEAD是节点1-A。
Reset后,打入正确补丁,PUSH -F到服务器,就会把刚才HEAD的节点1-A删除掉,变成2-A了。
问题是:如果有人在你节点1-A的时候PULL了,然后你把1-A删除换成了2-A,下次再PULL的时候,因为他是有节点1-A的,那就会出现冲突。
最正确的解决方法是,在1-A的节点上,再打一次补丁,变成1-B,然后用rebase -i 把两个commit merge到一起就可以了。

查看完整回答
反对 回复 2021-07-18
?
HUWWW

TA贡献1874条经验 获得超12个赞

不能,之前的a已经push到服务器了。

查看完整回答
反对 回复 2021-07-18
  • 2 回答
  • 0 关注
  • 545 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信