Git分支的用法,與遠(yuǎn)程版本庫協(xié)作

好巧。就在我寫到這篇的時(shí)候,郭霖大神剛好推出了一篇Git使用大全,附微信推文連接,大師,我是你的粉絲
http://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650236779&idx=1&sn=2ba112b0d9c2ba4aff82d0dcff8ac6ef&scene=0#wechat_redirect

本次以我寫過的一個(gè)demo為例,學(xué)習(xí)分支前,先創(chuàng)建代碼倉庫,提交項(xiàng)目:

$git init
$git add .
$git commit -m "First commit."

先說一下為什么要使用分支,我們開發(fā)軟件的時(shí)候會隨著時(shí)間推移不斷更新版本,為了在開發(fā)新版本的時(shí)候不覆蓋掉舊版本(舊版本可能會出現(xiàn)Bug,此時(shí)需要修改舊版本,若沒有分支,此時(shí)的舊版本上就有了正在開發(fā)的新版本的特性,這并不好,因?yàn)樾掳姹究赡荛_發(fā)還不完全)。
有了分支,只需在發(fā)布一個(gè)版本的時(shí)候創(chuàng)建一個(gè)分支,然后再主干線上繼續(xù)開發(fā)新的后續(xù)版本,當(dāng)發(fā)現(xiàn)舊版本有Bug的時(shí)候只需修改分支并將分支合并到主干線即可。

分支的使用

  • 查看分支

git branch -a

查看分支git branch -a

此項(xiàng)目還沒創(chuàng)建過分支,因此只有master主干線

  • 創(chuàng)建分支

git branch version1.0
此時(shí)再次使用git branch -a查看,能看到多了一個(gè)分支

創(chuàng)建分支

  • 切換分支

此時(shí)master前面有個(gè)*號,說明master為主干線,此時(shí)使用checkout命令可以切換到version1.0上

git chechout version1.0

切換分支

可以看到,此時(shí)已經(jīng)在version1.0分支上了

  • 合并分支

由于在各自分支上修改代碼不會相互影響,為了在修改Bug后同時(shí)修復(fù)多個(gè)分支,使用合并merge命令

git checkout master
git merge version1.0

這樣就把version1.0分支上修改并提交的內(nèi)容合并到master上了,如果合并的時(shí)候出現(xiàn)代碼沖突,就需要自己找出并解決了。

  • 刪除不需要的分支

git branch -D version1.0

合并,刪除分支

與遠(yuǎn)程版本庫協(xié)作(團(tuán)隊(duì)合作開發(fā)的時(shí)候)

  • 下載遠(yuǎn)程版本庫的代碼

比如現(xiàn)有一個(gè)遠(yuǎn)程版本庫的Git地址是http://github.com/example/test.git, 使用如下命令即可將代碼下載到本地

git clone http://github.com/example/test.git

  • 將本地內(nèi)容同步到遠(yuǎn)程版本庫

git push origin master

origin指定的遠(yuǎn)程版本庫的Git地址
master指定同步哪個(gè)分支

  • 將遠(yuǎn)程版本庫上的修改同步到本地,有兩種命令,fetch和pull
fetch

git fetch origin master
此時(shí)同步下來的代碼不會合并到任何分支上,而是存放在一個(gè)origin/master分支上

可以通過diff命令來查看遠(yuǎn)程版本庫上修改了什么內(nèi)容

git diff origin/master

之后再調(diào)用merge將origin/master合并到主干線上即可

git merge origin/master


pull

pull命令相當(dāng)于將fetch和merge這兩個(gè)命令合并一起執(zhí)行,它可以從遠(yuǎn)程版本庫獲取代碼并合并到本地

git pull origin master


本文內(nèi)容來自《第一行代碼》,為加深自己理解,特此寫到這里,到此,書中對Git的介紹就告一段落了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容