Git:分支管理

使用分支就是說(shuō)你可以從開(kāi)發(fā)主線上分離開(kāi)來(lái)覆获,然后在不影響主線的同時(shí)繼續(xù)工作墩新。Git在創(chuàng)建倉(cāng)庫(kù)的時(shí)候贸弥,master是默認(rèn)分支『Tǎ可以在其他分支上進(jìn)行開(kāi)發(fā)绵疲,完成后再將它們合并到主分支上。

那么臣疑,分支在實(shí)際中有什么用呢盔憨?
如果一個(gè)功能你完成了一半,如果立即提交可能會(huì)導(dǎo)致別人無(wú)法工作讯沈。如果完成后統(tǒng)一提交有可能丟失每天的進(jìn)度存在風(fēng)險(xiǎn)郁岩。此時(shí),我們需要分支:你創(chuàng)建了一個(gè)屬于自己的分支,別人看不到问慎,還繼續(xù)在原來(lái)的分支上正常工作萍摊,而你在自己的分支上工作,想提交就提交蝴乔,直到開(kāi)發(fā)完畢后记餐,再一次性合并到原來(lái)的分支上驮樊。

這樣薇正,既安全,又不影響別人囚衔。

分支工作原理

  • HEAD是當(dāng)前分支的指針(初始指向master)
  • 分支的創(chuàng)建過(guò)程:添加新的指針挖腰,用HEAD指向它,指針隨著自己的提交而不斷改變(master不變)
  • 分支的合并過(guò)程:用master指向 分支指針指向的位置 即可练湿,所以合并非澈锫兀快
  • 分支的刪除:刪除分支指針

想要詳細(xì)了解分支的工作過(guò)程,猛戳這里肥哎。

創(chuàng)建分支

使用git branch命令創(chuàng)建分支:

git branch newbranch

切換到newbranch分支:

git checkout newbranch

上述兩句命令可由git checkout -b命令取代:

?  Git git:(master) git checkout -b newbranch
Switched to a new branch 'newbranch'

查看分支

使用git branch命令查看當(dāng)前分支:

?  Git git:(newbranch) git branch
  master
* newbranch

*表示當(dāng)前分支辽俗。

分支上的提交

在分支上的工作與在master上操作一樣,參考這里篡诽。

?  Git git:(newbranch) ? git status
On branch newbranch
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   README.MD

no changes added to commit (use "git add" and/or "git commit -a")
?  Git git:(newbranch) ? git add .
?  Git git:(newbranch) ? git commit -m "branch"
[newbranch 3902e54] branch
 1 file changed, 2 insertions(+)

在分支上的所有操作崖飘,在未合并前master上是不可見(jiàn)的。分支上的文件杈女,master不可見(jiàn)朱浴。

?  Git git:(newbranch) git checkout master
Switched to branch 'master'

切換回master后查看文件,發(fā)現(xiàn)在分支上的操作是看不見(jiàn)的达椰。

分支合并

使用git merge命令合并指定分支當(dāng)前分支上:

?  Git git:(master) git merge newbranch
Updating 69611e0..3902e54
Fast-forward
 README.MD | 2 ++
 1 file changed, 2 insertions(+)
?  Git git:(master) 

分支合并后翰蠢,發(fā)現(xiàn)在分支上的修改(提交)可見(jiàn)了。

刪除分支

合并完成啰劲,我們可以刪除分支:

?  Git git:(master) git branch -d newbranch
Deleted branch newbranch (was 3902e54).
?  Git git:(master) git branch
* master

此時(shí)查看分支梁沧,就只剩下master了。

因?yàn)閯?chuàng)建蝇裤、合并和刪除分支非惩⒅В快(指針操作),所以Git鼓勵(lì)使用分支完成某個(gè)任務(wù)猖辫,合并后再刪掉分支酥泞,這和直接在master分支上工作效果是一樣的,但過(guò)程更安全啃憎。

總結(jié)

查看分支:git branch
創(chuàng)建分支:git branch <branch-name>
切換分支:git checkout <branch-name>
創(chuàng)建+切換分支:git checkout -b <branch-name>
合并某分支到當(dāng)前分支:git merge <branch-name>
刪除分支:git branch -d <branch-name>

笑著活下去
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末芝囤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌悯姊,老刑警劉巖羡藐,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異悯许,居然都是意外死亡仆嗦,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)先壕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)瘩扼,“玉大人,你說(shuō)我怎么就攤上這事垃僚〖拢” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵谆棺,是天一觀的道長(zhǎng)栽燕。 經(jīng)常有香客問(wèn)我,道長(zhǎng)改淑,這世上最難降的妖魔是什么碍岔? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮朵夏,結(jié)果婚禮上蔼啦,老公的妹妹穿的比我還像新娘。我一直安慰自己侍郭,他們只是感情好询吴,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著亮元,像睡著了一般猛计。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上爆捞,一...
    開(kāi)封第一講書(shū)人閱讀 49,792評(píng)論 1 290
  • 那天奉瘤,我揣著相機(jī)與錄音,去河邊找鬼煮甥。 笑死盗温,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的成肘。 我是一名探鬼主播卖局,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼双霍!你這毒婦竟也來(lái)了砚偶?” 一聲冷哼從身側(cè)響起批销,我...
    開(kāi)封第一講書(shū)人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎染坯,沒(méi)想到半個(gè)月后均芽,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡单鹿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年掀宋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仲锄。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡劲妙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出昼窗,到底是詐尸還是另有隱情是趴,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布澄惊,位于F島的核電站,受9級(jí)特大地震影響富雅,放射性物質(zhì)發(fā)生泄漏掸驱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一没佑、第九天 我趴在偏房一處隱蔽的房頂上張望毕贼。 院中可真熱鬧,春花似錦蛤奢、人聲如沸鬼癣。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)待秃。三九已至,卻和暖如春痹屹,著一層夾襖步出監(jiān)牢的瞬間章郁,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工志衍, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留暖庄,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓楼肪,卻偏偏與公主長(zhǎng)得像培廓,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子春叫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1. 創(chuàng)建與合并分支 在Git里每次提交會(huì)被串成一條時(shí)間線,這條時(shí)間線就是一個(gè)分支.而HEAD是指向當(dāng)前分支,當(dāng)前...
    程序員七哥閱讀 539評(píng)論 0 5
  • 分支在實(shí)際中有什么用呢肩钠?假設(shè)你準(zhǔn)備開(kāi)發(fā)一個(gè)新功能俘侠,但是需要兩周才能完成,第一周你寫(xiě)了50%的代碼蔬将,如果立刻提交爷速,由...
    八寶君閱讀 303評(píng)論 0 0
  • 沖突合并 創(chuàng)建分支feature1分支惫东,在feature1中修改readme文件,然后在分支中添加并提交毙石, $gi...
    奮斗中的Kevin閱讀 635評(píng)論 0 1
  • 第一次很認(rèn)真的畫(huà)了一次廉沮,卻其實(shí)不如隨意畫(huà)的好。那天夢(mèng)里看到的這樣一幅景象徐矩,印象深刻滞时,于是決定畫(huà)下來(lái)。卻是用的XP系...
    隱刺青閱讀 547評(píng)論 4 6
  • 文/一吻作別 來(lái)一抔土 或者望一眼春色 不叫醒冬眠的蛙 不驚擾歲月的臉頰 捧一杯茶 或者來(lái)一曲長(zhǎng)調(diào) 勾起翻飛的思緒...
    一吻作別閱讀 140評(píng)論 2 3