比防說我在11點00分從伺服器拉取了一次程式碼,然後與我本地的合併完並且提交了,在11點01分時準備push的時候,提示在我push之前已經有其他人搶險push了,我需要再pull一下才能提交,這時我是否需要將我本地的這次commit回滾掉?
如果需要回滾我本地的commit該怎麼回滾呢?
我現在的做法就是 git reset --hard commitid,這樣貌似就把我提交的文件移出暫存區了?我這麼做是否正確呢?是否還有其他做法?
是不是應該再pull一次,如果有衝突,就解決衝突之後再commit, push如果沒有衝突,直接commit,push
git pull下來後,
如果有衝突,解決完衝突再commit,然後push就好了;
如果沒有衝突,直接就可以push
你從伺服器 pull 之後實際上是將之前的搶險 push 合併到了你自己的本地版本之中,結果有兩種:
自動合併成功 (fast-forward)
自動合併失敗,需要手動 merge
兩種情況下,你都應該重新跑一下 test ,確保合併後的程式碼沒有影響你原來的功能和設想。然後再 push.
git fetch origin && git rebase origin/master && git push
是不是應該再pull一次,
如果有衝突,就解決衝突之後再commit, push
如果沒有衝突,直接commit,push
git pull下來後,
如果有衝突,解決完衝突再commit,然後push就好了;
如果沒有衝突,直接就可以push
你從伺服器 pull 之後實際上是將之前的搶險 push 合併到了你自己的本地版本之中,結果有兩種:
自動合併成功 (fast-forward)
自動合併失敗,需要手動 merge
兩種情況下,你都應該重新跑一下 test ,確保合併後的程式碼沒有影響你原來的功能和設想。然後再 push.
git fetch origin && git rebase origin/master && git push