介紹鮮為人知但功能強大的 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
- 那些功能逆天,卻鮮為人知的pandas騷操作
- JavaScript 那些鮮為人知的玩法JavaScript
- (騷操作)Laravel 中一個鮮為人知的雞肋功能Laravel
- 任天堂鮮為人知的產品哲學:創意比技術更重要
- SQL Server 2012鮮為人知的兩個功能MOSQLServer
- 盤點Win10小技巧:幾組鮮為人知的Win10小技巧介紹Win10
- 鮮為人知的 Python 語法Python
- 鮮為人知的 PostgreSQL 特性 - hakibenitaSQL
- 15 個鮮為人知的Unix命令
- 鮮為人知的程式設計真相程式設計
- 10款鮮為人知的PHP框架PHP框架
- 鮮為人知的python位運算Python
- 有趣且鮮為人知的 Python “特性”Python
- 5個 Google Guava 鮮為人知的特性GoGuava
- 10個鮮為人知的WordPress函式函式
- Google鮮為人知的14項服務Go
- 鮮為人知的光伏產業幕後百億市值大贏家產業
- 商業週刊:關於婚姻鮮為人知的大資料大資料
- Python程式設計師鮮為人知但你應該知道的16個問題Python程式設計師
- 庫克的14件鮮為人知的軼事
- iOS 8系統10個鮮為人知的隱藏功能或改進iOS
- 介紹微軟一個罕為人知的無敵命令(轉)微軟
- 大資料時代的技術hive:hive介紹大資料Hive
- 5個鮮為人知Java集合特性Java
- 一份鮮為人知的Python特性Python
- 11 個鮮為人知的 Linux 命令(1)Linux
- 10 個鮮為人知的 Linux 命令(5)Linux
- 10 個鮮為人知的 Linux 命令(2)Linux
- 10 個鮮為人知的 Linux 命令(3)Linux
- 10 個鮮為人知的 Linux 命令(4)Linux
- 十個鮮為人知的Linux 命令(三)Linux
- 十個鮮為人知的Linux 命令(二)Linux
- 6條鮮為人知的程式設計真相程式設計
- C語言有哪些鮮為人知的特性?C語言
- 鮮為人知的Windows XP最佳化(轉)Windows