Git管理代碼:分支使用(五)

本文內(nèi)容要點:

  1. 分支是什么焰情?

  2. 創(chuàng)建分支

  3. 推送分支到遠程倉庫

  4. 合并分支

  5. 分支沖突解決

  6. 查看版本分支圖

  7. 刪除分支

  8. 多人協(xié)作

分支是什么?

分支可以理解為平行的幾條公路,公路之間互不干擾贤姆,從主分支建立幾個子分支,相當于公路的岔路口一樣并思,然后ABC三人各走一條路庐氮,互相之間誰也不干擾誰,最后到另外一個交叉路口時宋彼,三人就又可以碰面走到一起了弄砍。

分支在實際開發(fā)中的作用可以這樣理解:現(xiàn)在有ABC三人同時開發(fā)一個項目,A開發(fā)功能一输涕、B開發(fā)功能二音婶、C開發(fā)功能三,如果三人同時在同一個項目同一條分支上面開發(fā)的話莱坎,很容易造成互相之間文件沖突等困境衣式,對開發(fā)很不方便,這時我們就可以依賴Git來開啟三條分支檐什,A在A的分支里面做他自己的東西碴卧,B在B的分支里面做他的開發(fā),C也是類似這樣乃正,各做各的住册,最后當他們?nèi)齻€人的代碼功能都開發(fā)完畢后,再把他們做的分支進行合并瓮具,就是把功能一荧飞、二凡人、三都合并到一起,這樣整個項目就完成了叹阔,相互之間你不干擾我挠轴,我不干擾你,是不是感覺世界多么美好耳幢?

默認情況下岸晦,git會幫你自動建立一個master的分支,這個就是主分支帅掘,我們之前操作的代碼版本就都是這個分支上面操作的委煤,一般地master是作為最核心最重要的分支使用的,項目所有代碼都在里面修档。接下來我們開始學(xué)習(xí)如何創(chuàng)建更多的分支碧绞。

創(chuàng)建分支

使用TortoiseGit創(chuàng)建分支非常簡單:根目錄空白右鍵 > TortoiseGit > Create Branch...(創(chuàng)建分支),在對話框填寫分支英文名(Branch)和注釋(description)吱窝,其他選項默認讥邻,OK之后即可創(chuàng)建好

5-1.png
5-2.png

創(chuàng)建好之后,默認工作區(qū)間還是在master分支下面的院峡,需要切換分支時就可以切換到剛才建立的分支兴使,右鍵執(zhí)行:TortoiseGit > Switch/Checkout(切換分支)

5-3.png
5-4.png

切換好之后,提交的時候就會變成分支的名字了照激,這個時候提交就是提交到這個分支啦发魄。

5-5.png

注意:如果是多個團隊協(xié)作的時候,我本地創(chuàng)建好了分支并且推送到了遠程倉庫俩垃,但是其他的同事更新拉取遠程默認分支代碼的時候励幼,他的本地是沒有建立我的分支的,但是他可以看到我的遠程分支口柳,那么如果他需要進入我的分支苹粟,在本地倉庫建立一個分支的話,只要選擇遠程分支跃闹,進行切換嵌削,就自動在本地建立一個分支啦。

5-6.png
5-7.png

推送分支到遠程倉庫

我們創(chuàng)建好分支后望艺,這個時候分支的信息都還是在我本地倉庫的苛秕,那么我們只要對代碼進行commit(如果有編寫新代碼)和push后,遠程倉庫就會看到有分支了找默,操作和以前的推送master分支是一樣的想帅。

5-8.png

合并分支

我們對上面創(chuàng)建好的分支進行一些開發(fā)修改,然后提交保存后啡莉,接下來我們需要把這個分支的代碼合并到主分支master:

  • 分支開發(fā)港准,我們這里修改test.txt文件,在里面加入了相關(guān)的文字咧欣,然后commit和push
5-9.png
5-10.png

切換為master分支(需要把其他分支合并到某個分支浅缸,這時就需要切換到此分支,如分支一要合并到分支二里魄咕,那么就要切換到分支二):

5-11.png
5-12.png

接著執(zhí)行:TortoiseGit > Merge...(合并)衩椒,然后選擇要合并的分支和填寫需要合并信息,OK之后哮兰,你會發(fā)現(xiàn)分支的代碼就過來啦毛萌。。喝滞。

5-13.png
5-14.png
5-15.png
5-16.png

分支沖突解決

當合并分支的時候阁将,往往都是不太順利的,特別是同一個文件被多個分支修改過的時候右遭,就會出現(xiàn)合并沖突了∽鲋眩現(xiàn)在,我再創(chuàng)建一條分支窘哈,接著分別切換到這兩條分支對應(yīng)修改這個test.txt的文件吹榴,然后再合并這個分支,結(jié)果如下:

5-17.png
5-18.png
5-19.png

這個錯誤的意思就是告訴你:Git想自動合并分支滚婉,但是這個test.txt的文件發(fā)生沖突了图筹,需要手工進行合并,點擊Resolve(解決)让腹,就會列出所有沖突的文件远剩,點OK之后,再一一去找到這些文件哨鸭,對應(yīng)的打開里面進行修改

5-20.png
5-21.png

打開沖突的代碼民宿,會發(fā)現(xiàn)里面Git把沖突的地方使用<<<<<<< HEAD=======>>>>>>> develop_shopingcart標識出來了,=======分隔開來的就是這主分支和develop_shopingcart的沖突代碼區(qū)分

5-22.png

手工修改后像鸡,去除標識代碼活鹰,然后進行commit和push提交保存即可。

5-23.png

查看版本分支圖

我們操作了這么多版本和分支信息只估,我們可以通過一個Git的分支圖形來查看版本分支結(jié)構(gòu)的志群,那樣更加直觀哦,執(zhí)行TortoiseGit > Revision Graph蛔钙,如下圖

5-24.png
5-25.png

以上的分支圖锌云,表示從v0.1分出了兩個分支,然后又合并到了master分支了吁脱。

刪除分支

分支功能開發(fā)完成后桑涎,或者是建立分支建立錯了彬向,如果我們不再需要了的話,可以刪除掉分支攻冷,具體如下操作:

目前遠程和本地分支情況如下二圖所示:

5-26.png
5-27.png

我現(xiàn)在要刪除develop_order分支娃胆,先通過上一步的查看版本分支圖(Revison Graph),打開后等曼,找到你想要刪除的分支里烦,右鍵如下:

5-28.png

Delete Branch/tag有三個選項:refs/heads/develop_order就是刪除本地分支,refs/remotes/origin/develop_order就刪除遠程倉庫分支禁谦,All就是本地和遠程都刪除胁黑。我們這里執(zhí)行All,都刪除州泊!確認后丧蘸,本地和遠程都刪除了,再也切換不了這個分支啦拥诡,耶触趴!

5-29.png
5-30.png

然后遠程和本地的分支狀態(tài)就是這樣了:

5-31.png
5-32.png

多人協(xié)作

工作中,大多數(shù)情況下都是多個哥們一塊來開發(fā)一個項目的渴肉,那么就需要Git這樣的軟件+碼云來實現(xiàn)代碼同步更新冗懦,從而實現(xiàn)協(xié)作。

通過前幾節(jié)教程和今天這節(jié)分支教程仇祭,我們應(yīng)該學(xué)會了如何創(chuàng)建版本倉庫披蕉,如何提交版本,如何推送到遠程倉庫……只有推送到遠程倉庫乌奇,其他的人才能拉取到你的代碼哦没讲。所以,多人協(xié)作需要碼云或者是Github這樣的第三方服務(wù)亦或是自己搭建服務(wù)器來實現(xiàn)代碼的共享倉庫礁苗。

接著我們稍微講解一下在碼云上面的代碼協(xié)作步驟爬凑,有需求的同學(xué)可以試一下,其他的用戶使用碼云也是類似我這幾節(jié)課所講解那樣使用的:

  1. 團隊成員各自在碼云注冊帳號

  2. 項目管理員在碼云建立項目试伙,初始化項目嘁信,設(shè)定好各個成員的分支,也可以在分支中設(shè)置各個成員的權(quán)限疏叨,一般地master分支由管理員控制潘靖,其他的人不能push修改這個分支。

  3. 項目管理員在碼云的項目管理面板中設(shè)置開發(fā)成員蚤蔓,并且可以設(shè)定各個成員的權(quán)限卦溢,如果是各個成員都使用SSH訪問的話,需要添加大家的SSH公鑰到里面才能訪問

  4. 各個成員安裝Git相關(guān)的軟件和環(huán)境,然后設(shè)置好相關(guān)的訪問代碼庫的方式单寂、用戶名和密鑰等

  5. 各個成員通過項目地址拉取項目源碼贬芥,然后切換到自己的分支,那么這里面的代碼就是屬于你自己的開發(fā)分支了宣决。

  6. 最后各個成員在各自分支開發(fā)好之后誓军,管理員進行分支合并,合并完成后提交到遠程保存疲扎,這個時候就可以打標簽,發(fā)布新版本啦捷雕!

部分操作如下圖所示:

5-33.png
5-34.png

小結(jié)

針對小白入門Git+碼云的操作就到此結(jié)束了椒丧,通過這幾節(jié)課程我們可以了解到Git+TortoiseGit的使用,有了這些技能救巷,我們做項目的開發(fā)以及和團隊的協(xié)作會更加的順暢啦壶熏。

  • 可以從中看到,我們很多的操作都是在項目的根目錄下浦译,進行右鍵選擇TortoiseGit里面對應(yīng)的操作來進行操作的棒假,某些需要針對某個文件的操作在選中文件后,那么也是右鍵選擇TortoiseGit里面對應(yīng)的操作來進行操作的精盅;

  • 團隊的合作帽哑,我們一定要養(yǎng)成習(xí)慣每天先更新拉取遠程代碼(pull),然后每天提交推送自己的代碼(commit+push)叹俏。

這幾節(jié)課程針對的主要是windows下的用戶妻枕,實際上在mac上面的使用也是類似的,只是安裝的軟件不太一樣而已粘驰,大家可以嘗試一下屡谐,后續(xù)我們會繼續(xù)推出和Git相關(guān)的在Mac上的使用和在Linux服務(wù)器上使用Git更新來發(fā)布部署等相關(guān)教程,敬請期待蝌数,感謝你的學(xué)習(xí)愕掏,和你一起,期待再次與你相見6ド 饵撑!

參考:https://www.9xkd.com/2584736170.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市枝哄,隨后出現(xiàn)的幾起案子肄梨,更是在濱河造成了極大的恐慌,老刑警劉巖挠锥,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件众羡,死亡現(xiàn)場離奇詭異,居然都是意外死亡蓖租,警方通過查閱死者的電腦和手機粱侣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門羊壹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人齐婴,你說我怎么就攤上這事油猫。” “怎么了柠偶?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵情妖,是天一觀的道長。 經(jīng)常有香客問我诱担,道長毡证,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任蔫仙,我火速辦了婚禮料睛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘摇邦。我一直安慰自己恤煞,他們只是感情好,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布施籍。 她就那樣靜靜地躺著居扒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪法梯。 梳的紋絲不亂的頭發(fā)上苔货,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天,我揣著相機與錄音立哑,去河邊找鬼夜惭。 笑死,一個胖子當著我的面吹牛铛绰,可吹牛的內(nèi)容都是我干的诈茧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼捂掰,長吁一口氣:“原來是場噩夢啊……” “哼敢会!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起这嚣,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤鸥昏,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后姐帚,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吏垮,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了膳汪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唯蝶。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖遗嗽,靈堂內(nèi)的尸體忽然破棺而出粘我,到底是詐尸還是另有隱情,我是刑警寧澤痹换,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布征字,位于F島的核電站,受9級特大地震影響娇豫,放射性物質(zhì)發(fā)生泄漏柔纵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一锤躁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧或详,春花似錦系羞、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至梧乘,卻和暖如春澎迎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背选调。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工夹供, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人仁堪。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓哮洽,卻偏偏與公主長得像,于是被迫代替她去往敵國和親弦聂。 傳聞我的和親對象是個殘疾皇子鸟辅,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353