介紹鮮為人知但功能強大的 Git 技術
導讀 | 儲藏(Stashing)是一種鮮為人知但功能強大的 Git 技術,即使您還沒有準備好提交它,它也能保證程式碼的安全。 |
Stashing 允許您保留對儲存庫所做更改的副本,而無需建立提交。
如果您正在切換上下文,這非常有用,尤其是當您在同一個專案的不同錯誤或任務之間來回切換時。
在處理並行工作時,您可以使用 git stash 來簡化您的工作流程。想象一下,您正在處理一項長期執行的任務,並在本地工作副本中進行了更改。然後,出現緊急情況,您必須立即處理。
- 進行本地更改
- 儲存本地更改
- <其他作品>
- 重新應用隱藏的更改
當您使用git stash [push] 儲存更改時,git 將重置為 HEAD。然後,您可以繼續處理您需要的任何事情,提交到儲存庫,就好像您從未進行過原始更改一樣。
一旦你首先完成了任何讓你偏離軌道的事情,使用git stash pop應用你的更改並將它們從儲存中刪除。您還可以使用 git stash apply 應用您的更改並將它們儲存在儲存中。如果您想快速將更改應用到多個分支,這可能很有用。
如果您真的很忙,您可能會發現自己同時處理多項任務,並且您可能需要將它們全部隱藏起來。別擔心, git stash 就是為此而構建的。
每次使用 git stash push 時,都會儲存另一組更改。使用git stash list顯示您已隱藏的所有內容。你會看到有點像這樣的東西:
stash@{0}: WIP on main: 2fba62e first commit stash@{1}: WIP on main: 2fba62e first commit
這些訊息不是很有用,但是您可以透過在儲存時新增自定義訊息來為自己留下一些線索:
git stash push -m "third"
當您現在列出時,您會看到您的自定義訊息:
stash@{0}: On main: third stash@{1}: WIP on main: 2fba62e first commit
要找出儲存中發生的變化,請使用 git stash show。如果沒有進一步的引數,它將顯示最新儲存的差異摘要,如下所示:
$ git stash show README.md | 3 +++ 1 file changed, 3 insertions(+)
您還可以傳遞儲存 id 來查詢特定條目:
git stash show stash@{0}
您可能會認為儲存中的更改非常重要,以至於它們應該放在自己的分支中。如果是這樣,請使用分支 從儲存中建立一個新分支:
git stash branch
同樣,預設情況下這將適用於最近的儲存,但如果需要,您可以提供儲存 id。Git 從儲存庫中的同一點建立新分支作為儲存。然後它將儲存中的更改應用到您的工作副本。
沒有“git unstash”命令。如果要刪除儲存條目,請使用 drop:
git stash drop
同樣,這預設為最新的,但您可以提供一個儲存 ID。如果您決定要擺脫 Stash 的所有內容,請使用以下命令:
git stash clear
Git 儲存庫遠沒有完整儲存庫強大。但是它們本身仍然提供許多有用的功能。如果您經常發現自己需要在工作中切換分支,那就請使用 stashes。
Stashing 只是 git 的一小部分,它是一個提供很多東西的程式。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2905070/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 鮮為人知的JavaScript功能JavaScript
- Python:鮮為人知的功能特性(下)Python
- Python:鮮為人知的功能特性(上)Python
- SQL Server 2012鮮為人知的兩個功能MOSQLServer
- 那些功能逆天,卻鮮為人知的pandas騷操作
- (騷操作)Laravel 中一個鮮為人知的雞肋功能Laravel
- 任天堂鮮為人知的產品哲學:創意比技術更重要
- 鮮為人知的 Python 語法Python
- 鮮為人知的 PostgreSQL 特性 - hakibenitaSQL
- 盤點Win10小技巧:幾組鮮為人知的Win10小技巧介紹Win10
- 有趣且鮮為人知的 Python “特性”Python
- 鮮為人知的python位運算Python
- 一份鮮為人知的Python特性Python
- 知識圖譜技術的新成果—KGB知識圖譜介紹
- 藍芽4.0技術知識整理和基本介紹藍芽
- 5個鮮為人知Java集合特性Java
- 鮮為人知的光伏產業幕後百億市值大贏家產業
- 推薦六個鮮為人知的 Composer 命令
- 十個鮮為人知的Linux命令 - Part 5Linux
- 元宇宙八大關鍵技術介紹元宇宙
- git介紹Git
- [譯] 鮮為人知的資料科學 Python 庫資料科學Python
- 鮮為人知的軟體專案管理原則專案管理
- KGB知識圖譜的功能和特色介紹
- AIGC底層技術介紹AIGC
- 容器技術和Docker介紹Docker
- 11 個鮮為人知卻超實用的 Linux 命令!Linux
- 代理IP的四大功能介紹
- Git元件介紹Git元件
- Git--介紹Git
- 這些鮮為人知的前端冷知識,你都GET了嗎?前端
- 如何優雅地向別人介紹高階大氣上檔次的GitGit
- SAP 業務技術平臺(BTP) Workflow(工作流)功能介紹
- 技術筆記(8)git的部分進階功能筆記Git
- 功能介紹
- WiFi協議的調製技術介紹WiFi協議
- 液晶顯示技術TCON介紹
- Docker容器技術與Docker介紹Docker