一佩谣、git checkout -b git_doc;#創(chuàng)建本地分支
git push origin git_doc;#分享到遠(yuǎn)程倉庫
git fetch origin;#獲取遠(yuǎn)程倉庫的所有信息
git checkout -t origin/git_doc;# 其他開發(fā)人員基于origin/git_doc創(chuàng)建本地分支
git branch --set-upstream git_doc origin/git_doc;# make an existing local branch to track a remote branch#為本地分支建立遠(yuǎn)程跟蹤
git pull;獲取遠(yuǎn)程倉庫的信息,并自動(dòng)合并
git checkout master;合并分支到主干
git merge origin/git_doc
git push origin master
git push origin :git_doc;# 刪除遠(yuǎn)程分支
git branch -d git_doc;# 刪除本地分支
二、git branch
git branch不帶參數(shù):列出本地已經(jīng)存在的分支,并且在當(dāng)前分支的前面加“*”號(hào)標(biāo)記,例如:
#git branch
* master
newbranch
git branch -r列出遠(yuǎn)程分支,例如:
#git branch -r
m/master -> origin_apps/m1_2.3.4
origin_apps/hardware/test
origin_apps/m1
origin_apps/m1_2.3.4
origin_apps/master
git branch -a列出本地分支和遠(yuǎn)程分支,例如:
#git branch -a
* master
newbranch
remotes/m/master -> origin_apps/m1_2.3.4
remotes/origin_apps/hardware/test
remotes/origin_apps/m1
remotes/origin_apps/m1_2.3.4
remotes/origin_apps/master
git branch創(chuàng)建一個(gè)新的本地分支枣宫,需要注意,此處只是創(chuàng)建分支吃环,不進(jìn)行分支切換也颤,例如:
#git branch newbranch2
#git branch
* master
newbranch
newbranch2
當(dāng)前的分支依然是master,不進(jìn)行切換郁轻。
git branch -m | -M oldbranch newbranch重命名分支翅娶,如果newbranch名字分支已經(jīng)存在,則需要使用-M強(qiáng)制重命名好唯,否則竭沫,使用-m進(jìn)行重命名。
git branch -d | -D branchname刪除branchname分支
git branch -d -r branchname刪除遠(yuǎn)程branchname分支
例子:
git help branch中的一個(gè)例子:
$ git clone git://git.kernel.org/pub/scm/.../Linux-2.6 my2.6
$ cd my2.6
$ git branch my2.6.14 v2.6.14
$ git checkout my2.6.14
第三行符合git branch []的格式骑篙,即以v2.6.14為start-point蜕提,創(chuàng)建新的本地分支branchname。
三靶端、Git fetch和git pull的區(qū)別
Git中從遠(yuǎn)程的分支獲取最新的版本到本地有這樣2個(gè)命令:
1.$ git fetch <遠(yuǎn)程主機(jī)名> <分支名>:相當(dāng)于是從遠(yuǎn)程獲取最新版本到本地谎势,不會(huì)自動(dòng)merge
git fetch origin master? //取回origin主機(jī)的master分支
git log-p master..origin/master
git merge origin/master
以上命令的含義:
首先從遠(yuǎn)程的origin的master主分支下載最新的版本到origin/master分支上
然后比較本地的master分支和origin/master分支的差別
最后進(jìn)行合并
上述過程其實(shí)可以用以下更清晰的方式來進(jìn)行:
git fetch origin master:tmp
git diff tmp
git merge tmp
從遠(yuǎn)程獲取最新的版本到本地的test分支上
之后再進(jìn)行比較合并
2.git pull:相當(dāng)于是從遠(yuǎn)程獲取最新版本并merge到本地
git pull origin master
上述命令其實(shí)相當(dāng)于git fetch 和 git merge
在實(shí)際使用中,git fetch更安全一些
因?yàn)樵趍erge前躲查,我們可以查看更新情況它浅,然后再?zèng)Q定是否合并