============ 當 Conflict when git pull =====================
http://jackdempsey.me/2010/07/01/git-when-branches-diverge.html
如果 git pull 時發現有 Conflict, 但你又明明沒有加入任何 commit,
有可能是因為原來的 branch 已經走到分支出去了,
你可以打入 git status
wistor@wistor-003:~/KernelBuild/kernel-3.2$ git status # On branch master # Your branch and 'origin/master' have diverged, # and have 32 and 83 different commit(s) each, respectively. # nothing to commit (working directory clean)
第一個數字 32 代表著你比 origin/master 多了 32 個 patch,
第二個數字 83 代表著你比 origin/master 少了 83 個 patch
如果你很有興趣知道是那一些可以利用 git cherry origin/master 來看
接下來你有幾個方式
1. 像網頁上的方式, 執行 git reset --hard HEAD^ 一直到你可以做 fast-forwarded
這個時候再來執行 git pull
wistor@wistor-003:~/KernelBuild/kernel-3.2$ git status # On branch master # Your branch is behind 'origin/master' by 83 commits, and can be fast-forwarded. #
2. 直接執行 git pull --rebase origin/master
3. 如果你有用 smartgit, 可以打開 log tree, 直接選擇你要的點, 然後按下 reset
常用指令說明
http://blog.longwin.com.tw/2009/05/git-learn-initial-command-2009/
沒有留言:
張貼留言