在IDEA中實戰(zhàn)Git 合并&提交&切換&創(chuàng)建分支&代碼合并

轉自https://blog.csdn.net/dreamsky_boy/article/details/84098775


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

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

場景一:小張創(chuàng)建項目并提交到遠程Git倉庫

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

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

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

場景五:小袁接受了一個新功能的任務,創(chuàng)建了一個分支并在分支上開發(fā)

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

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

場景八:小張把分支合并到主干

場景九:使用“Merge into current”菜單合并代碼


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

場景一:小張創(chuàng)建項目并提交到遠程Git倉庫
創(chuàng)建好項目,選擇VCS - > Import into Version Control -> Create Git Repository

image

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

image

點擊OK后創(chuàng)建完成本地倉庫,注意,這里僅僅是本地的。下面把項目源碼添加到本地倉庫。

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

image

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

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

image
image
image

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

image

場景二:小袁從遠程Git倉庫上獲取項目源碼
即克隆項目,操作如下:

image

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

image

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

場景三:小袁修改了部分源碼,提交到遠程倉庫
這個操作和首次提交的流程基本一致,分別是 Add -> Commit -> Push。請參考場景一

場景四:小張從遠程倉庫獲取小袁的提交
獲取更新有兩個命令:Fetch和Pull,Fetch是從遠程倉庫下載文件到本地的origin/master,然后可以手動對比修改決定是否合并到本地的master庫。Pull則是直接下載并合并。如果各成員在工作中都執(zhí)行修改前先更新的規(guī)范,則可以直接使用Pull方式以簡化操作。

image

場景五:小袁接受了一個新功能的任務,創(chuàng)建了一個分支并在分支上開發(fā)
建分支也是一個常用的操作,例如臨時修改bug、開發(fā)不確定是否加入的功能等,都可以創(chuàng)建一個分支,再等待合適的時機合并到主干。

創(chuàng)建流程如下:

image

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

image

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

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

image

如下圖,點擊Checkout

image

注意,這里創(chuàng)建的分支僅僅在本地倉庫,如果想讓組長小張獲取到這個分支,還需要提交到遠程倉庫。

場景六:小袁把分支提交到遠程Git倉庫
切換到新建的分支,使用Push功能。

Git菜單方式Push代碼到遠端

或者右下角快捷方式Push(可看到有Push的圖標證明有代碼待提交)。
快速提交代碼到遠端倉庫

確認提交

場景七:小張獲取小袁提交的分支
點擊右下角分支菜單。

分支操作快捷菜單

或者通過菜單VCS-->Git->Branches來獲取新分支。
菜單方式刷新分支

在點擊右上角的刷新按鈕,來獲取新分支。


刷新來獲取新分支信息

可以看到在Remote Branches區(qū)已經有了新的分支,點擊后在彈出的子菜單中選擇Check out ,在本地倉庫中創(chuàng)建該分支。
check out遠程分支到本地

完成后在Local Branches區(qū)也會出現該分支的選項,可以按上面的方法,點擊后選擇Checkout切換。


Local Branches使用新分支

場景八:小張把分支合并到主干
新功能開發(fā)完成,體驗很好,項目組決定把該功能合并到主干上。

切換到master分支,選擇Merge Changes

image

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

image

場景九:使用“Merge into current”菜單合并代碼
正常合并都是由分支合向主干,這次從主干向分支合(主要因為代碼寫在主干上了)。分支名稱:test_branch20201117,主干分支:master

1、首先我們在主干代碼中找個文件修改代碼,然后提交到本地去。分支代碼是沒有這段修改過的代碼。

2、要將代碼合并到目標分支(test_branch20201117),先Check out到改目標分支。

我們現在要將master代碼合并到test_branch20201117上面,所以我們需要切換到目標分支test_branch20201117。選擇:test_branch20201117分支,點擊Chekout,代碼就變成分支代碼了。

當前為master主干,切換到分支test_branch20201117

3、然后點擊要合并過來的分支(比如:master)彈出菜單,選擇merge into current菜單,就是要把master合并到test_branch20201117,同理可以把任何分支合并到當前分支,這樣就完成了代碼合并。

使用Merge into Current來merge代碼到當前分支

  1. 在測試無誤后可以把合并后的代碼Push到遠端。
    快速提交代碼到遠端倉庫

    注意:有的時候我們Merge代碼后本地代碼倉庫是最新代碼不需要提交,但是遠端需要提交,如果用工具條的提交按鈕進行提交是沒有待提交的文件,也就沒法提交到遠端。


    工具條按鈕提交

    需要主動點擊Push按鈕才能提交到遠程倉庫,否則遠程倉庫一直沒最新代碼。
    快速提交代碼到遠端倉庫
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容