一、查看分支
git branch 查看本地分支
git branch -a 查看所有分支列表,包括本地和遠(yuǎn)程,當(dāng)前分支的前面用*標(biāo)記,遠(yuǎn)程分支一般會(huì)用紅色字體標(biāo)記出來,帶有remotes/origin/分支名
二、新建本地分支
git checkout -b 新分支名
git checkout master //切換到master分支
git merge hotfix //將hotfix分支上的修改合并到master分支上
執(zhí)行該指令后,會(huì)在本地創(chuàng)建一個(gè)新分支,該分支是從當(dāng)前分支上檢出的,所以所有文件內(nèi)容都和當(dāng)前分支一模一樣,這是正常的。創(chuàng)建成功后,將自動(dòng)切換至新分支上。
三、創(chuàng)建本地分支指定遠(yuǎn)程分支
新建本地分支指定遠(yuǎn)程分支,該命令可以將遠(yuǎn)程git倉庫里的指定分支拉取到本地
git checkout -b 本地分支名 origin/遠(yuǎn)程分支名
//獲取遠(yuǎn)程
git fetch origin
//查看遠(yuǎn)程分支
git branch -r
//創(chuàng)建本地分支并關(guān)聯(lián)
git checkout -b 本地分支 origin/遠(yuǎn)程分支
//已有本地分支創(chuàng)建關(guān)聯(lián)
git branch --set-upstream-to origin/遠(yuǎn)程分支名 本地分支名
//拉取
git pull
四、分支合并
1、開發(fā)分支(dev)上的代碼達(dá)到上線的標(biāo)準(zhǔn)后,要合并到 master 分支
git checkout dev
git pull
git checkout master
git merge dev
git push -u origin master
2、當(dāng)master代碼改動(dòng)了,需要更新開發(fā)分支(dev)上的代碼
git checkout master
git pull
git checkout dev
git merge master
git push -u origin dev
五、git commit撤銷
git reset --soft HEAD^
這樣就成功的撤銷了你的commit
注意,僅僅是撤回commit操作,您寫的代碼仍然保留。
HEAD^的意思是上一個(gè)版本,也可以寫成HEAD~1
如果你進(jìn)行了2次commit,想都撤回,可以使用HEAD~2
六、git 刪除遠(yuǎn)程分支
刪除遠(yuǎn)程分支的命令
git push origin(遠(yuǎn)程倉庫默認(rèn)名) --delete new_a(分支名) 或者
簡寫 git push origin -d new_a
七、添加指定遠(yuǎn)程倉庫到本地
git remote add liby(遠(yuǎn)程倉庫名可自定義) http://gitlab.liby.com.cn/data-center/liby-sale-cockpit.git
獲取遠(yuǎn)程倉庫分支到本地分支(分支名不同需加上)
git fetch liby(遠(yuǎn)程倉庫名) release(遠(yuǎn)程分支名):release(本地分支名)
git push liby (遠(yuǎn)程倉庫名)release(本地分支名):release(遠(yuǎn)程分支名)
7.如果遠(yuǎn)程新建了一個(gè)分支,本地沒有該分支。
可以利用 git checkout --track origin/branch_name ,這時(shí)本地會(huì)新建一個(gè)分支名叫 branch_name ,會(huì)自動(dòng)跟蹤遠(yuǎn)程的同名分支 branch_name。
git checkout --track origin/branch_name
8.如果本地新建了一個(gè)分支 branch_name,但是在遠(yuǎn)程沒有。
這時(shí)候 push 和 pull 指令就無法確定該跟蹤誰,一般來說我們都會(huì)使其跟蹤遠(yuǎn)程同名分支,所以可以利用 git push --set-upstream origin branch_name ,這樣就可以自動(dòng)在遠(yuǎn)程創(chuàng)建一個(gè) branch_name 分支,然后本地分支會(huì) track 該分支。后面再對該分支使用 push 和 pull 就自動(dòng)同步。
git push --set-upstream origin branch_name
9.a/b/c分支同時(shí)開發(fā)
a分支合并到master上線后,將master 合并到 b/c分支,需要合并兩次,第一次為a分支改動(dòng)文件,第二次為提交版本號,然后在b/c 提交push,然后繼續(xù)開發(fā),正常提交就可以了。

10.master和開發(fā)分支沖突
當(dāng)前master分支沖突,可以在當(dāng)前開發(fā)分支時(shí)候拉取master分支代碼 pull master,然后可看到落后的master分支,以及沖突部分,然后解決沖突,提交當(dāng)前分支內(nèi)容,沖突解決。
11.刪除分支
master合并到dev,然后dev合并到master,然后在倉庫dev合并到master,就會(huì)刪除其余分支