會想要用 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 以後,再回到 mastergit merge mytarget 。

下完再 tig 一次,看起來沒有什麼問題,就下了 git push

叮咚,不給 git push

看了一下錯誤訊息以後,發現因為我的 mytarget 已經有 remote branch 了,必須要對 mytargetgit push --force 以後,才能對 mastergit push

剛找了一下, Pro Git 這本書裡有提到說,如果這個 remobte branch 已經有其他人跟著在改的時候,會有問題;如果是只有自己在用的 local branch ,那麼不會有太大的問題。

 


Tags: git rebase merge push


創作者介紹

旅行的記憶

repeat<')">< 發表在 痞客邦 PIXNET 留言(0) 人氣()