分支就像是一個平行時空,從你建立的時間點平行出去,可以在那個分支,做你想做的修改,然後再合併回 master(主分支)。
建立一個新的 branch 叫做 week1:git branch week1[branch 名稱]
。
切換 branchgit branch checkout week1[branch 名稱]
。
查看目前在哪個 branch,例如:git branch -v
master 61fb6ac forth commit
* week1 61fb6ac forth commit
(END)
git branch -d week1[branch 名稱]
在 master 分支,把另一個分支合併進來git merge test[分支名稱]
想像一下,分別有A檔案與B檔案,我們建立一個 new-feature 分支,在兩人操作不同分支的情況下,分兩種狀況:
在狀況2中,Git 的邏輯要怎麼解決呢?
按照時間嗎?先 Merge 的先贏?
也不行!
解決方法: 手動解決!
例如:衝突發生,使用 merge 的時候 :
➜ git git:(master) git merge new-feature
Auto-merging code.js
CONFLICT (content): Merge conflict in code.js
Automatic merge failed; fix conflicts and then commit the result.
檔案會出現 :
<<<<<<< HEAD
@@@@@@@@@@@@@ //master branch
=======
!new feature //another branch(new-feature)
>>>>>>> new-feature
這時就可以直接在這個檔案修改成你要的最終版本,
resolve conflict
@@@@@@@@@@@@@
!new feature
然後改完之後存檔,直接 commit :
commit -am "resolve confilcts"
就解決啦!