在 Git 中快取一個檔案
有時,當我們在做一個巨大的專案時,我們會遇到工作狀態由於各種原因而變得混亂的情況。
在這種情況下,我們需要切換分支一段時間才能更好地工作。對於這種情況,我們可能面臨的問題是,我們不需要為了以後可以接近這一點而提交已經完成了一半的工作。
這個問題的解決方案是 git stash
命令。git stash
命令讓我們可以將工作目錄的狀態臨時快取在臨時檔案中。
,我們可以說我們可以切換分支,提交我們想要的工作,然後返回到我們使用命令 git stash
擱置的工作。
換句話說,我們可以說 git stash
命令非常簡單;它快取我們工作目錄的當前狀態和我們的快取檔案中的索引。這意味著沒有對索引或工作目錄進行任何更改。
Stashing 獲取我們工作目錄的無關狀態,即我們修改後的跟蹤檔案和暫存更改,並將其儲存在未完成更改的堆疊資料型別中,你以後也可以使用不同的分支重新應用這些更改。
在我們工作的時候,我們可能會進行很多更改並新增很多髒檔案,但是當我們快取時,Git 只會儲存我們工作目錄的一個乾淨的快照。
我們應該知道,快取檔案意味著我們將該檔案的內容推送到 stash
。如果我們再次更改檔案,它將在 stash
中更改,而不是在工作目錄中。因此,我們不應該在快取檔案後更改檔案。
我們應該使用 stash save
命令來快取檔案。如果我們想將所有更改快取在工作目錄中,我們應該使用 stash save --all
命令。如果我們想取消快取檔案,我們應該使用 stash pop
命令。
在 Git 中只快取一個檔案的步驟
假設我們有七個檔案,並且我們已經更改了所有檔案。現在我們將看到應該遵循哪些步驟來僅快取當前倉庫中的七個檔案之一。
-
檢視更改的檔案
首先,我們將執行命令
git status
來檢查已修改的檔案列表。git status
-
暫存檔案
檢查列表後,我們將執行命令
git add
來暫存所有七個檔案:git add .
-
取消暫存
在對所有檔案進行暫存後,下一步是在
git reset
命令的幫助下解除對file2
的暫存。git reset file2
-
存放該檔案
現在我們要用
git stash
命令把file2
藏起來,讓它回到當前版本庫中的提交階段。git stash --keep-index
另一種方法是執行以下命令,我們可以只存放一個檔案。
git stash save -p "commit message"
藉助上述方法,我們可以選擇應將哪個塊新增到快取中。此外,如果我們處理過檔案,我們可以在提交之前快取更改,以便使用我們的工作檔案完成提交。
該命令將快取新增到索引中的更改(暫存更改)和對 Git 當前跟蹤的檔案所做的更改(未暫存更改)。
快取是一種對我們的工作副本的當前狀態進行快照,將快照快取起來,然後返回到乾淨的工作副本狀態的方法。
一旦我們將更改新增到索引中,我們就可以提交它們。如果我們想將更改快取在工作目錄而不是索引中,請使用 --keep-index
選項。可以隨時重新應用隱藏的更改。
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn