【git】如果在push时其他人抢先一步push,那我是否需要将我本地提交全部回滚?
为情所困
为情所困 2017-05-02 09:26:53
0
4
631

比防说
我在11点00分从服务器拉取了一次代码,然后与我本地的合并完并且提交了,在11点01分时准备push的时候,提示在我push之前已经有其他人抢险push了,我需要再pull一下才能提交,这时我是否需要将我本地的这一次commit回滚掉?

如果需要回滚我本地的commit该怎么回滚呢?

我现在的做法就是 git reset --hard commitid,这样貌似就把我提交的文件移出暂存区了?我这么做是否正确呢?是否还有其他做法呢?

为情所困
为情所困

全部回复(4)
大家讲道理

是不是应该再pull一次,
如果有冲突,就解决冲突之后再commit, push
如果没有冲突,直接commit,push

我想大声告诉你

git pull下来后,

  1. 如果有冲突,解决完冲突再commit,然后push就好了;

  2. 如果没有冲突,直接就可以push

phpcn_u1582

你从服务器 pull 之后实际上是将之前的抢险 push 合并到了你自己的本地版本之中,结果有两种:

  1. 自动合并成功 (fast-forward)

  2. 自动合并失败,需要手动 merge

两种情况下,你都应该重新跑一下 test ,确保合并后的代码没有影响你原来的功能和设想。然后再 push.

巴扎黑

git fetch origin && git rebase origin/master && git push

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!