如何只快取 Git 中的特定檔案?
介紹
Git 是開發者用來跟蹤程式碼庫更改的流行版本控制系統。Git Stash 允許開發者臨時儲存對工作目錄所做的更改,而無需將其提交到儲存庫。當開發者需要切換到不同的分支或處理其他功能,但又不想提交未經測試的更改時,此功能非常有用。
使用 Git Stash 時,工作目錄中的所有更改都將儲存為“快取”,以後可以檢索。這允許開發者同時處理多個功能,而不會將未完成或未經測試的程式碼與主程式碼庫混合。
Git Stash 的基礎知識
Git stash 是一個強大且有用的工具,用於管理 Git 儲存庫中的更改。它允許您儲存工作目錄中未提交的更改以供以後使用,而無需將其提交到儲存庫。當您想要切換分支、從遠端儲存庫拉取更新或只是暫時停止處理特定功能或任務時,這會很有幫助。
使用 git stash 不會在您的儲存庫中建立任何新的提交;相反,它會建立一個包含您已儲存更改的快取物件。當您準備好檢索這些更改時,您可以將快取應用回您的工作目錄,甚至應用到完全不同的分支上。
Git Stash 的工作原理?
執行“git stash”時,Git 會將所有未提交的更改儲存到一個匿名的“快取”物件中。此物件與您的提交和分支分開儲存——本質上是建立了一個僅儲存臨時更改的臨時分支。此快取的內容儲存為一系列提交,因此可以一次儲存多個快取。
預設情況下,git stash 將儲存當前目錄樹中所有已修改的已跟蹤檔案和未跟蹤檔案。如果需要,使用者可以透過指定檔名或使用帶有某些選項(例如 --include-untracked 或 --patch)的萬用字元來選擇要包含(或排除)的檔案。
如何快取特定檔案?
解釋為什麼您可能想要快取特定檔案而不是所有更改
在 Git 中,快取是一種臨時儲存尚未準備好提交的更改的方法。當您需要切換分支或恢復到以前的狀態,但又不想丟失當前進度時,這尤其有用。
但是,有時您可能不想快取工作目錄中的所有檔案和更改。例如,如果您同時處理多個功能,並且只想快取與一項功能相關的更改,則快取特定檔案可以節省時間並使流程更高效。
使用 git stash 命令以及 --patch 或 --keep-index 等選項分步指導如何快取特定檔案
要使用 Git 的內建命令列介面快取特定檔案,請按照以下步驟操作:
開啟您的終端並導航到更改所在的儲存庫。
使用 git status 命令檢視哪些檔案已修改或建立。
確定應將哪些檔案或檔案的哪些部分包含在新本地提交(“快取”)中。
根據應將檔案的哪一部分包含在新本地提交(“快取”)中,使用以下兩個選項之一:
如果您只想從一些新增的修改中包含更改行(稱為“塊”)的某些部分(或“快取”),請使用 `git add -p`(您將以互動方式遍歷每個修改)。
如果您要一起新增(或“快取”)多個更改,則可以使用 `git add` 來暫存檔案。
使用帶有所需選項的 git stash 命令。
要僅快取某些檔案中的更改,請使用 `git stash push path/to/file1 path/to/file2`。
要僅快取檔案中的某些部分(“塊”)的更改,請使用 `git stash push --patch path/to/file`。
如果需要,您可以在命令之後新增可選訊息來描述您的快取。
透過執行 git status 或 git stash list 來確認您的檔案已被快取。
例如
使用 Git 提供的這些步驟和選項可以幫助您高效地管理和組織您的快取,同時仍然能夠儲存工作流程中必不可少的特定檔案和更改。
示例和用例
現實世界示例:多工處理
快取特定檔案的一個常見示例是在同時處理多個功能時。當您處理需要多處更改的大型專案,或同時處理多個較小的專案時,這種情況可能會發生。透過快取特定檔案,您可以確保每個更改集都保持獨立和有序。
例如,假設您是一位正在開發新軟體應用程式的開發者。您有幾項任務要完成,包括向用戶介面新增新功能、改進後端程式碼以及修復現有程式碼庫中的一些錯誤。
您決定同時完成這些任務以節省時間,而不是一次完成一項任務。為了使您的更改井然有序,並防止由於重疊的工作空間而出現任何問題,您可以使用 Git Stash 來快取與每個功能相關的特定檔案。
現實世界示例:臨時刪除檔案
快取特定檔案還有助於另一個示例,即需要從工作目錄臨時刪除檔案而無需完全刪除它。假設您的專案中有一個實驗性功能,該功能尚未完全測試,但它正在導致專案其他區域出現一些錯誤。
為了避免在完成更多測試或其他地方進行更多開發(這可能會完全解決這些問題)之前完全刪除此檔案;您不是使用 `rm -rf file/to/be/removed` 完全刪除它,而是使用 `git stash push path/to/directory` 快取該檔案。稍後,當您有時間重新訪問該功能並修復出現的任何問題時,您可以輕鬆地取消快取特定檔案並繼續工作。
以這種方式快取檔案是永久刪除的安全替代方案,因為它保留了迄今為止所做的工作,同時允許您繼續處理專案的其他區域。在這種情況下使用 Git Stash 的好處是顯而易見的;它允許開發人員進行實驗和建立,而無需擔心永久丟失資料或更改。
結論
在本文中,我們探討了 Git Stash 的基礎知識,並學習瞭如何快取特定檔案。我們研究了了解如何快取特定檔案的重要性,並提供了快取特定更改必不可少的現實世界示例。
我們還檢查了一些高階技術和技巧,以高效地管理快取。通過了解如何在 Git 中快取特定檔案,開發人員可以更有效地處理大型程式碼庫和複雜專案。
快取提供了一種強大的方法來臨時儲存更改而不提交它們,這在同時處理多個功能或任務時尤其有用。藉助 Git 的內建快取和更改管理工具,開發人員可以擁有一個高效的工作流程來管理臨時更改。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP