查看分支:git branch
創(chuàng)建分支:git branch name
切換分支:git checkout name
創(chuàng)建+切換分支:git checkout -b name
合并某分支到當(dāng)前分支:git merge name
刪除分支:git branch -d name
解決沖突
使用git status
命令可以查看沖突問題
Git用<<<<<<<搁嗓,=======缺谴,>>>>>>>標(biāo)記出不同分支的內(nèi)容
使用git log
可以查看分支合并的情況.
Bug分支
假設(shè)在dev分支上進(jìn)行開發(fā),而現(xiàn)在需要修復(fù)一個bug并且merge到master分支上.而現(xiàn)在dev上的工作只工作到了一半,還不能commit.
這種情況下,可以在dev分支中,使用git stash
,這時,git status
查看工作區(qū)的時候是干凈的(干凈才可以checkout到其它的分支).
現(xiàn)在,可以到其它分支上工作了.
現(xiàn)在切回去bug分支,用git stash list
可以查看工作區(qū)現(xiàn)場.
恢復(fù)現(xiàn)場的兩種方法:
git stash apply
:恢復(fù)現(xiàn)場,但是stash不會刪除.git stash pop
:恢復(fù)現(xiàn)場,但是stash會被刪除.
刪除分支
如果需要刪除沒有被merge的分支,需要使用命令:
git branch -D feture
多人協(xié)作
從remote獲取的項目只有master分支.
如果遠(yuǎn)程有dev分支的話,在本地可以使用以下命令來checkout到在遠(yuǎn)程已經(jīng)存在的另一個分支.
//這樣,在本地就會切換到遠(yuǎn)程dev的分支上.
git checkout -b dev origin/dev
多人協(xié)作的步驟:
- 首先,
git push origin branch-name
推送自己的修改. - 如果推送失敗,因為遠(yuǎn)程分支的比你的本地更新,先使用
git pull
試圖合并. - 合并有沖突的話,則解決沖突,然后在本地提交.
- 解決沖突之后,再執(zhí)行
git push origin branch-name
提交. - 如果
git pull
出現(xiàn)no tracking information
的話,那么需要進(jìn)行git branch --set-upstream branch-name origin/branch-name
操作(建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián)).
操作標(biāo)簽
命令git push origin tagname可以推送一個本地標(biāo)簽完域;
命令git push origin --tags可以推送全部未推送過的本地標(biāo)簽另凌;
命令git tag -d tagname可以刪除一個本地標(biāo)簽疮装;
命令git push origin :refs/tags/tagname可以刪除一個遠(yuǎn)程標(biāo)簽曹质。
Github的Pull Request
步驟:
- 先在github上fork一個感興趣的項目
- 在自己fork的項目上做修改
- 然后在github自己fork的項目上發(fā)起一個pull request
git merge --no-ff
git merge 帶上參數(shù)--no-ff
的區(qū)別如下:
