git的分支操作是在開發(fā)主線上分離出來(lái),單獨(dú)列出分支。可以理解為像是復(fù)制出一個(gè)文件夾,然后在這個(gè)文件夾下操作。
列出分支命令:git branch
這是我的兩個(gè)分支,master和newtest ,newtest前面的*表示的是當(dāng)前使用的意思,表面當(dāng)前所處的分支是newtest分支。
創(chuàng)建分支命令:git branch (branchname)
使用命令branch新建了一個(gè)分支,再查看可以看到分支新建成功了。
這里注意,我是在newtest分支上進(jìn)行的分支新建,新建出來(lái)的newtest1111分支的內(nèi)容是和newtest一樣的。
切換分支命令:git checkout (branchname)
當(dāng)你切換分支的時(shí)候,Git 會(huì)用該分支的最后提交的快照替換你的工作目錄的內(nèi)容, 所以多個(gè)分支不需要多個(gè)目錄。
進(jìn)行分支切換的時(shí)候,如果有一些工程文件可能會(huì)由于格式等原因,打開的時(shí)候出現(xiàn)變動(dòng),git要求你重新commit或這stash。這里使用stash比較方便。
stash修改
比如下面的中間狀態(tài),通過(guò)git stash命令推送一個(gè)新的儲(chǔ)藏,當(dāng)前的工作目錄就干凈了。
可以使用以上命令加入標(biāo)記,類似于注釋,stashMessage就是注釋,方便后續(xù)查找的時(shí)候方便識(shí)別
恢復(fù)緩存stash
這個(gè)命令是取出最近一次儲(chǔ)藏的修改到工作區(qū),如果要取出特定的使用如下命令
index是數(shù)字,表示不同的緩存,可通過(guò)git stash list查詢相應(yīng)數(shù)字
查看現(xiàn)有stash
移除stash
git stash drop 后面可以跟著stash名字
git stash list
stash@{0}: xxx
stash@{1}: xxx
stash@{2}: xxx
$ git stash drop stash@{0}
合并分支命令:git merge
你可以多次合并到統(tǒng)一分支, 也可以選擇在合并之后直接刪除被并入的分支。
將A合并到B,先切換到B,使用命令git merge A進(jìn)行和并。如果A和B都包含某個(gè)相同的文件,會(huì)有沖突,先解決沖突再提交。
刪除分支命令:git branch -d (branchname)
對(duì)于不再需要的分支可以使用刪除命令進(jìn)行刪除