W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
有時(shí)您使用IntelliJ IDEA需要在不完成任務(wù)的情況下切換不同的任務(wù),然后返回給他們。IntelliJ IDEA為您提供了幾種方式來方便地處理幾種不同的功能,并且不會丟失任何需要進(jìn)行的工作:
擱置暫時(shí)存儲尚未提交的待處理更改。例如,如果您需要切換到另一個高優(yōu)先級的任務(wù),并且希望將更改放在一邊以便稍后處理,則此方法很有用。
使用IntelliJ IDEA,您可以擱置單獨(dú)的文件和整個更改列表。
一旦擱置,可以根據(jù)需要隨時(shí)多次更換,然后擱置,然后將其恢復(fù)到擱置上。
您可以通過選擇Changelist(更改列表)下拉菜單,從Shelve Changes(擱置更改)對話框切換到其他更改列表。
為避免多個擱置同名(例如Default),您可以簡單地將文件或更改列表從“本地更改”選項(xiàng)卡拖放到“擱置”選項(xiàng)卡,等待一秒鐘,直到它被激活,并在釋放鼠標(biāo)按鈕時(shí)即時(shí)編輯新的擱置名稱。
也可以在不顯示"擱置更改"對話框的情況下,靜默地?cái)R置更改。為此,請選擇要擱置的文件或更改列表,然后單擊工具欄上的Shelve Silently圖標(biāo)
,或按 Ctrl+Alt+H。包含您要擱置的更改的更改列表的名稱將用作貨架名稱。
不負(fù)責(zé)任的是將推遲的更改從擱架移動到待處理的更改列表。未保存的更改可以從視圖中濾除或從貨架上移除。
您還可以將文件或更改列表從“擱置”選項(xiàng)卡拖放到“本地更改”選項(xiàng)卡,以靜默取消擱置。
您也可以靜默地取消保存更改,而不顯示“Unshelve Changes”對話框。為此,請選擇要取消擱置的文件或更改列表,然后單擊工具欄上的“取消擱置無圖標(biāo)”圖標(biāo)
,或按 Ctrl+Alt+U。未保存的文件將被移動到活動掛起更改列表。
IntelliJ IDEA可以讓您在必要時(shí)重新應(yīng)用未保存的更改。所有未保存的更改都可以重復(fù)使用,直到通過單擊工具欄上的
圖標(biāo)或從上下文菜單中選擇“清除已取消未保存的內(nèi)容”以顯式刪除它們。
要恢復(fù)貨架上應(yīng)用的更改,請執(zhí)行以下操作:
您可以導(dǎo)入在IntelliJ IDEA內(nèi)部或外部創(chuàng)建的修補(bǔ)程序,并將其應(yīng)用為擱置更改。
將IntelliJ IDEA配置為始終擱置Git版本控制下的文件的基本版本可能會很有用。要做到這一點(diǎn),打開“設(shè)置”對話框(Ctrl+Alt+S),選擇左邊的版本控制|擱置(Version Control | Shelf)節(jié)點(diǎn),并選擇"分布式版本控制系統(tǒng)"選項(xiàng)下的文件擱置基礎(chǔ)修訂。
如果啟用此選項(xiàng),則文件的基本修訂將被保存到三路合并期間使用的擱置,如果應(yīng)用擱置會導(dǎo)致沖突。如果被禁用,IntelliJ IDEA將在項(xiàng)目歷史記錄中查找基本版本,這可能需要一段時(shí)間;此外,有沖突的擱置是基于修改可能會丟失(例如,如果由于基操作而更改了歷史記錄)。
默認(rèn)情況下,擱置目錄位于您的項(xiàng)目目錄下。但是,您可能需要更改默認(rèn)的擱置位置。例如,如果您希望避免在清理工作副本時(shí)意外刪除擱置,或者希望將其存儲在單獨(dú)的存儲庫中,以允許在您的團(tuán)隊(duì)成員之間共享擱置,這可能很有用。
有時(shí)可能需要將工作副本恢復(fù)為與HEAD提交相匹配,但是您不希望丟失已完成的工作。如果您知道上游的變化可能與您正在做的事情相關(guān),或者您需要做出一些緊急修復(fù),則可能會發(fā)生這種情況。
存儲涉及記錄HEAD提交和工作目錄(儲藏(stash))的當(dāng)前狀態(tài)之間的差異。索引的更改也可以儲藏起來。
Unstashing 涉及將存儲的儲藏處應(yīng)用到分支。
您可以將儲藏應(yīng)用到現(xiàn)有分支,或者在其基礎(chǔ)上創(chuàng)建新的分支。
您可以根據(jù)需要多次使用儲藏(stash),只需切換到所需的分支即可。請記?。?/p>
要應(yīng)用儲藏,請執(zhí)行以下操作:
如果有沖突,此操作可能會失敗。發(fā)生這種情況是因?yàn)闆_突存儲在索引中,因此您無法再將這些更改應(yīng)用于其原始狀態(tài)。
要刪除某個儲藏,請?jiān)诹斜碇羞x擇它,然后單擊“刪除”。要刪除所有的包裝,請點(diǎn)擊“清除”。
當(dāng)您正在處理幾個相關(guān)的功能時(shí),可能會發(fā)現(xiàn)將更改分組到不同的更改列表中很方便。這種方法有其優(yōu)點(diǎn)和缺點(diǎn),而不是使用功能分支來處理多個任務(wù)。
優(yōu)點(diǎn):
缺點(diǎn):
所有更改列表都顯示在版本控制工具窗口的“本地更改”選項(xiàng)卡中。所有修改后的文件都會自動放置在活動變更列表中,這是默認(rèn)的更改列表,除非您創(chuàng)建了另一個變更列表并使其處于活動狀態(tài)。
要創(chuàng)建一個新的更改列表,請單擊工具欄上的
。
要使非默認(rèn)更改列表處于活動狀態(tài),請右鍵單擊該列表并從上下文菜單中選擇“設(shè)置活動更改列表”。
如果要在更改列表之間移動更改,請選擇要移動的文件,然后單擊工具欄上的
,或從上下文菜單中選擇"移動到其他列表"。
您也可以在更改列表之間拖放文件。
Git中的一個分支代表了一條獨(dú)立的開發(fā)行,所以如果您在準(zhǔn)備共享工作結(jié)果并將其集成到母版中之前要完成并測試一個獨(dú)立的功能,則在功能分支中執(zhí)行它是最好的解決方案。這樣可以確保不穩(wěn)定的代碼不會被提交到項(xiàng)目的主代碼庫中,并且如果需要,您可以輕松地切換到其他任務(wù)。
優(yōu)點(diǎn):
缺點(diǎn):
有兩種主要方法可以使用功能分支并將您的更改集成到主代碼庫中:
合并選項(xiàng)的主要優(yōu)點(diǎn)是完全可追溯性,因?yàn)楹喜⒌街鞔a庫中的提交保留了其原始哈希和作者,并且屬于一個功能的所有提交可以組合在一起。
此工作流適合于將對主代碼庫的更改涉及請求請求或分層審批過程的項(xiàng)目,因?yàn)楝F(xiàn)有的分支不會以任何方式進(jìn)行更改。
這種方法的主要缺點(diǎn)是,每次需要合并更改時(shí)都會創(chuàng)建無關(guān)的合并提交,這嚴(yán)重污染了項(xiàng)目歷史并使其難以閱讀。
合并選項(xiàng)工作流程涉及以下步驟:
這個選項(xiàng)的主要好處是,您可以得到一個清晰的項(xiàng)目歷史,可以使其他人很容易閱讀和理解。您的日志不包含merge操作產(chǎn)生的不必要的合并提交,并且您可以獲得易于瀏覽和搜索的線性歷史記錄。
當(dāng)決定采用這個工作流程時(shí),您應(yīng)該記住,rebase重寫項(xiàng)目歷史記錄,因?yàn)樗鼮樵脊δ芊种е械拿總€提交創(chuàng)建新的提交,因此它們將具有不同的哈希,從而妨礙可追溯性。
基礎(chǔ)選項(xiàng)涉及以下步驟:
使用您的首字母縮寫或昵稱(如果它很短)作為您的功能分支名稱的前綴是有意義的。通過這種方式,您可以在“分支”菜單中使用“速度搜索”輕松找到所有分支。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: