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

比防說
我在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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板