1. 程式人生 > >將分支代碼合並到master和將master代碼合並到dev

將分支代碼合並到master和將master代碼合並到dev

執行 使用 blog 一個 b2c bubuko sso create 常用

技術分享圖片

兩種合並分支的方法:

都保證在合到的那個分支上面;A合並到B,即保證當前在B分支上。

技術分享圖片

A merge B是把A中的改動放到B分支上,B merge A是把B中的改動merge到A中,例如把master分支上的改動移到分支fb_xhf上,可以這樣merge。

1.轉到master分支上,然後更新master最新更新。

2.再轉到fb_xhf上,然後在Local Branches中選擇master分支,選擇merge,這樣就把本地的master merge到 本地倉庫的fb_xhf上,然後再選擇git push ,這樣就把遠程master merge到 fb_xhf上, 並會提示: Merged master to fb_xhf。

工作中多人使用版本控制軟件協作開發,常見的應用場景歸納如下:

假設小組中有兩個人,組長小張,組員小袁

場景一:小張創建項目並提交到遠程Git倉庫

場景二:小袁從遠程Git倉庫上獲取項目源碼

場景三:小袁修改了部分源碼,提交到遠程倉庫

場景四:小張從遠程倉庫獲取小袁的提交

場景五:小袁接受了一個新功能的任務,創建了一個分支並在分支上開發

場景六:小袁把分支提交到遠程Git倉庫

場景七:小張獲取小袁提交的分支

場景八:小張把分支合並到主幹

下面來看以上各場景在IDEA中對應的操作。

場景一:小張創建項目並提交到遠程Git倉庫

創建好項目,選擇VCS - > Import into Version Control -> Create Git Repository

技術分享圖片

接下來指定本地倉庫的位置,按個人習慣指定即可,例如這裏選擇了項目源代碼同目錄

技術分享圖片

點擊OK後創建完成本地倉庫,註意,這裏僅僅是本地的。下面把項目源碼添加到本地倉庫。

下圖是Git與提交有關的三個命令對應的操作,Add命令是把文件從IDE的工作目錄添加到本地倉庫的stage區,Commit命令把stage區的暫存文件提交到當前分支的倉庫,並清空stage區。Push命令把本地倉庫的提交同步到遠程倉庫。

技術分享圖片

IDEA中對操作做了一定的簡化,Commit和Push可以在一步中完成。

具體操作,在項目上點擊右鍵,選擇Git菜單

技術分享圖片

技術分享圖片

技術分享圖片

因為是第一次提交,Push前需要指定遠程倉庫的地址。如下圖,點擊Define remote後,在彈出的窗口中輸入遠程倉庫地址。

技術分享圖片

場景二:小袁從遠程Git倉庫上獲取項目源碼

即克隆項目,操作如下:

技術分享圖片

輸入小張Push時填寫的遠程倉庫地址

技術分享圖片

接下來按向導操作,即可把項目從遠程倉庫克隆到本地倉庫和IDE工作區。

場景三:小袁修改了部分源碼,提交到遠程倉庫

這個操作和首次提交的流程基本一致,分別是 Add -> Commit -> Push。請參考場景一

場景四:小張從遠程倉庫獲取小袁的提交

獲取更新有兩個命令:Fetch和Pull,Fetch是從遠程倉庫下載文件到本地的origin/master,然後可以手動對比修改決定是否合並到本地的master庫。Push則是直接下載並合並。如果各成員在工作中都執行修改前先更新的規範,則可以直接使用Pull方式以簡化操作。

技術分享圖片

場景五:小袁接受了一個新功能的任務,創建了一個分支並在分支上開發

建分支也是一個常用的操作,例如臨時修改bug、開發不確定是否加入的功能等,都可以創建一個分支,再等待合適的時機合並到主幹。

創建流程如下:

技術分享圖片

選擇New Branch並輸入一個分支的名稱

技術分享圖片

創建完成後註意IDEA的右下角,如下圖,Git: wangpangzi_branch表示已經自動切換到wangpangzi_branch分支,當前工作在這個分支上。

點擊後彈出一個小窗口,在Local Branches中有其他可用的本地分支選項,點擊後選擇Checkout即可切換當前工作的分支。

技術分享圖片

如下圖,點擊Checkout

技術分享圖片

註意,這裏創建的分支僅僅在本地倉庫,如果想讓組長小張獲取到這個分支,還需要提交到遠程倉庫。

場景六:小袁把分支提交到遠程Git倉庫

切換到新建的分支,使用Push功能

技術分享圖片

技術分享圖片

場景七:小張獲取小袁提交的分支

使用Pull功能打開更新窗口,點擊Remote欄後面的刷新按鈕,會在Branches to merge欄中刷新出新的分支。這裏並不想做合並,所以不要選中任何分支,直接點擊Pull按鈕完成操作。

技術分享圖片

更新後,再點擊右下角,可以看到在Remote Branches區已經有了新的分支,點擊後在彈出的子菜單中選擇Checkout as new local branch,在本地倉庫中創建該分支。完成後在Local Branches區也會出現該分支的選項,可以按上面的方法,點擊後選擇Checkout切換。

技術分享圖片

場景八:小張把分支合並到主幹

新功能開發完成,體驗很好,項目組決定把該功能合並到主幹上。

切換到master分支,選擇Merge Changes

技術分享圖片

選擇要合並的分支,點擊Merge完成

技術分享圖片

dev代碼合並到test分支

先切換到dev分支,poll獲取最新的代碼。

再切換到test分支,poll獲取最新的代碼,如圖選擇Local Branches 下的 dev,點擊 ,再選擇merge即可。

即合到哪個代碼就切換到哪個分支,(先把當前分支的代碼pull下,然後切換到要合並的分支,然後再merge)

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

分支合並到主幹

描述

有兩個分支A、B,現在要將分支A的代碼合並到分支B

idea的合並流程

1、確保分支A的代碼已是最新的了,可以切換到分支A上git pull一下
2、切分換到分支B上,點擊idea上的git merge操作

看圖說話

合並主幹master最新代碼到分支develop-report-1上

將A合並到B,即保證當前分支是B,然後根據下圖選擇A,然後merge代碼即可。
1、確認當前分支是develop-report-1
技術分享圖片
2、點擊右下角分支,按圖操作merge即可
技術分享圖片

將分支代碼合並到master和將master代碼合並到dev