會想要用 git rebase
,單純只是因為 git merge
會產生類似 merge branch 'master' of blah
的訊息。
不過由於後來有遇到一點問題,不確定做法是不是對的,就先做個記錄…
首先先對目標 branch mytarget
下
git co mytarget
git co -b testbranch
新增一個 test branch 來做實驗。
在 testbranch
下我下了 git rebase master
。然後就會開始出現像這樣的訊息:
First, rewinding head to replay your work on top of it...
Applying: commit one
Applying: commit two
Applying: commit three
很幸運的沒有遇到有衝突的檔案。然後再 tig 看一下狀況,大概是這樣:
2010-05-08 12:34:56 Repeat [testbranch] commit three
2010-05-08 11:23:45 Repeat commit two
2010-05-08 10:09:08 Repeat commit one
2010-05-08 07:06:05 Someone [origin/HEAD] [origin/master] [master] latest master commit
測試完畢,沒有問題。所以就回到 mytarget ,重新下了一次 git rebase master
以後,再回到 master
下 git merge mytarget
。
下完再 tig
一次,看起來沒有什麼問題,就下了 git push
。
叮咚,不給 git push
。
看了一下錯誤訊息以後,發現因為我的 mytarget
已經有 remote branch 了,必須要對 mytarget
下 git push --force
以後,才能對 master
下 git push
。
剛找了一下, Pro Git 這本書裡有提到說,如果這個 remobte branch 已經有其他人跟著在改的時候,會有問題;如果是只有自己在用的 local branch ,那麼不會有太大的問題。
全站熱搜
留言列表