管理Git分支

2018-12-13 11:19 更新

在Git中,分支(branch)是一個強大的機制,可以讓你脫離主要的開發(fā)線,例如,當您需要處理一個特性, 或者凍結(jié)某個版本的代碼庫的某種狀態(tài)時。

在IntelliJ IDEA中,所有使用分支的操作??都在“Git分支”的彈出窗口中執(zhí)行。要調(diào)用它,請執(zhí)行以下操作之一:

  • 點擊狀態(tài)欄中的Git小部件:
    管理Git分支
  • 通過在主菜單選擇VCS操作彈出,或按 Alt+Back Quote,然后選擇分支那里,以調(diào)用VCS操作彈出。
  • 從主菜單中選擇VCS | Git | 分支。
  • 右鍵單擊編輯器中的任何文件,然后在上下文菜單中選擇:Git | 存儲庫| 分支。

如果您有許多分支,您可以選擇是要在“分支”彈出窗口中顯示所有分支,還是僅顯示收藏的分支。要做到這一點,請切換分支彈出窗口底部的“僅顯示收藏夾(Show Only Favorites )”和“顯示更多(Show x More)”命令。

要將分支標記為收藏,請將鼠標光標懸停在分支名稱上,然后單擊左側(cè)顯示的星形輪廓: 。該master分支被標記為默認的首選項。

當前簽出的分支的名稱顯示在狀態(tài)欄中的Git小部件中。

如果您有一個多根倉庫,則可以啟用同步分支控制,這意味著所有分支操作(如checkout,merge,delete等)將同時執(zhí)行,就像它是單個倉庫一樣。如果某個操作至少在一個倉庫中失敗,則IntelliJ IDEA可以通過建議您在成功的倉庫中回滾此操作來防止分支發(fā)散。您可以在“版本控制| Git”下的“設置/首選項”對話框(Ctrl+Alt+S)中啟用同步分支控制 。

創(chuàng)建一個新的分支

如果您想要創(chuàng)建新的分支,例如要處理新的功能,請執(zhí)行以下操作:

  1. 在“分支(Branches)”彈出窗口中,選擇新分支(New Branch)。
  2. 在打開的對話框中,指定分支名稱,如果要切換到該分支,則確保選中“檢出分支(Checkout branch)”選項。

新的分支將從當前的HEAD開始。如果要從前一個提交而不是當前分支HEAD啟動分支,請在Log中選擇此提交,然后從上下文菜單中選擇New Branch。

簽出一個分支作為一個新的本地分支

如果您想在其他人創(chuàng)建的分支中工作,則需要檢查以創(chuàng)建該分支的本地副本:

  1. 在“分支(Branches)”彈出窗口中,選擇您想從遠程分支簽出本地的分支,或者常見的遠程分支(Common Remote Branches)如果您的項目具有多個根目錄并啟用了同步分支控制,或者如果它被禁用了,則從“存儲庫|遠程分支(Repositories | Remote Branches)”選擇,并從可用操作列表中選擇:“檢出”作為新的本地分支。
  2. 如有必要,請為此分支輸入一個新名稱,或保留對應于遠程分支的默認名稱,然后單擊“確定”。

在分支之間切換

IntelliJ IDEA 保存您的上下文(即一組與分支關聯(lián)的打開的文件,以及當前的運行配置和斷點),前提是在版本控制|確認(Version Control | Confirmation)之下的 "設置/首選項" 對話框中啟用了"分支切換的還原工作區(qū)" 選項 (Ctrl + Alt +S) 。當您切換到不同的分支時,IntelliJ IDEA會自動恢復與該分支關聯(lián)的上下文。

當多任務時,通常需要在分支之間跳轉(zhuǎn)到提交不相關的更改。要切換到不同的分支,請在“分支”彈出窗口中,選擇要切換到 "本地分支" 下的分支,然后從可用操作列表中選擇“簽出”。接下來會發(fā)生什么取決于您尚未提交的本地更改與要檢出的分支之間是否存在沖突:

  • 如果您的工作樹是干凈的(即沒有未提交的更改),或者您的本地改變不會與指定的分支發(fā)生沖突,這個分支將被檢出(IntelliJ IDEA 窗口的右下角會彈出一個通知)。
  • 如果您的本地更改將被checkout覆蓋,IntelliJ IDEA將顯示阻止您檢出所選分支的文件列表,并建議在Force Checkout和Smart Checkout之間進行選擇。如果您單擊強制簽出,您的本地未提交更改將被覆蓋,您將失去它們。如果您單擊智能簽出,IntelliJ IDEA將隱藏未提交的更改,檢出所選分支,然后取消更改。如果在非固定操作過程中發(fā)生沖突,系統(tǒng)將提示您合并更改。有關詳細信息,請參閱解決沖突。

比較分支

如果您想檢查兩個分支之間的分歧,你可以比較它們。為此,請從分支彈出窗口中選擇要與當前分支進行比較的分支,然后從可用操作列表中選擇比較。

在打開的對話框中,“Log”選項卡顯示一個分支中存在的所有提交列表,而不存在于另一個分支中。當您選擇提交時,右側(cè)窗格顯示受此提交影響的文件列表。您可以單擊工具欄上的“顯示差異”圖標 ,查看在此提交中所選文件的更改情況。

單擊交換分支鏈接到toggle,切換哪個分支被視為您正在比較其他分支的基礎。基本分支顯示在左側(cè)。

“文件”選項卡顯示兩個分支之間有差異的所有文件的列表。單擊 顯示當前分支中選定文件與您正在進行比較的分支之間的差異。

刪除分支

在將功能分支的更改集成到開發(fā)主線之后,您可以刪除不再需要的分支:

  1. 調(diào)用分支彈出并選擇您想要刪除的分支。
  2. 從子菜單中選擇 "刪除"。

刪除分支后,會在右下角顯示通知,您可以從中恢復已刪除的分支:

管理Git分支 

如果分支包含尚未合并到其上游分支或當前分支的提交,則它仍將立即刪除(相當于git branch --D 或git branch --delete --force命令),但通知還將包含一個鏈接,允許您查看未提交的提交。

如果已經(jīng)刪除的分支正在跟蹤遠程分支,您也可以從此通知中刪除遠程分支。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號