? ? ? ? ? ? ? ? ? ? ? ? ? ? 列出本地分支? ?git branch
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?列出遠程分支? ?git branch -r
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?列出所有本地和遠程分支? ?git branch -a
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?新建一個分支,但仍停留在當前分支? ?git branch [name]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?新建一個分支,并切換? ?git branch -b [name]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?新建一個分支,并指定遠程分支追蹤? ?git branch --track [name] [remote-name]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?切換到分支,并更新工作區? ?git checkout [name]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?切換到上一個分支? ?git checkout -
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?在現有分支與指定遠程分支間建立追蹤? ?git branch --set-upstream [name] [remote-name]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?合并指定分支到當前分支? ?git merge [name]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?選擇一個commit,合并到當前分支? ?git cherry-pick [commit]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?刪除分支? ?git branch -d [name]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?刪除遠程分支? ?git push origin --delete [name]? ?git branch -dr [name/remote-name]
列出分支
列出分支基本命令:?git branch
沒有參數時,git branch?會列出你在本地的分支。
上面例子的意思就是,我們有一個叫做?master?的分支,并且該分支是當前分支。
當你執行?git init?的時候,默認情況下 Git 就會為你創建?master?分支。
創建新分支
如果我們要手動創建一個分支。執行?git branch xxxx 即可
現在我們可以看到,有了一個新分支?testing。
當你以此方式在上次提交更新之后創建了新分支,如果后來又有更新提交, 然后又切換到了?testing?分支,Git 將還原你的工作目錄到你創建分支時候的樣子。
切換分支
接下來我們將演示如何切換分支,我們用 git checkout xxxx 切換到我們要修改的分支
首先創建一txting文件和一txting.txt文本來作為實驗對象,都commit提交
接下來當切換到testing分支下時,就只有一個創建之前的文件,
而當切換到master分支下時,就出現了剛剛創建的倆文件,
所以剛好對應如果后來又有更新提交, 然后又切換到了?新分支,Git 將還原你的工作目錄到你創建分支時候的樣子
ls顯示該分支下的所有文件
創建新分支并立即切換到該分支下
?git checkout -b xxxx
用?git checkout -b www來創建了一個新的www分支且立即切換到該分支下
接著再git add創建一個新文件www.txt并commit提交
最后ls查看發現只有www分支下有www.txt文件,說明我們的目的已經達到
刪除分支
git branch -d xxxx
在這里刪除了testing分支
合并分支
我們發現現在兩個分支下的內容是不一樣的
git merge www把www分支內容都合并到主分支master中,此時發現master分支下已經有了www分支下的www.txt文件
合并完后就可刪除無用的分支
合并沖突
沖突原因:?
? ? ? ? 2個分支,修改同一文件,同一位置,修改內容不一樣時.
此時查看就一個master分支,現在再添加yi和er這兩個分支,用來發生合并沖突
此時分支yi和分支er中的內容是一樣的,在這我們用www.txt文件來做示范
來到分支yi下,vim進入修改,然后添加暫存區提交
vim退出用法
來到分支er下,vim進入修改,這里修改的要跟分支yi下的不同,然后添加暫存區提交
這時來到分支yi來將分支er合并,發現報了一個錯誤,就是合并沖突
解決合并沖突
首先我們得明白沖突的由來 ,2個分支,修改同一文件,同一位置,修改內容不一樣時,而我們這里就是因為分支yi下www.txt文件和分支er下www.txt文件被修改兩個不同的了,所以造成合并沖突
只需要修改其中一個使其與另一個相同即可
這里修改分支er下的www.xt,已經修改成跟分支yi一樣的了
最后切換到分支yi,通過git merge er來合并
Git簡介、特點及安裝:
http://www.lxweimin.com/p/3ce5204aefaf