搜尋
首頁開發工具Git「git stash」暫存的操作詳解

「git stash」暫存的操作詳解

Jul 23, 2020 pm 06:01 PM
gitstash

「git stash」暫存的操作詳解

為什麼我們需要它

#不得不說,在知道這個指令的時,以及之後的使用中,我都超級熱愛這個指令,因為它真的太好用了。

給大家說一下我使用這個命令的場景:

此時我在feature_666 分支,非常聚精會神加持高專注地實現一個功能666 模組,簡直鍵盤如飛的編寫代碼~ ~~
然後這時,客戶回饋出一個bug , 非常嚴重,必須立刻解決,優先順序為0 ! ! !
所以,我需要去 release 分支去 checkout 新的分支去工作了,但是 666 功能還沒完成怎麼辦?
此時我面臨一個選擇題:
A:提交後切換,程式碼儲存到分支feature_666,卻產生一個無意義的提交
B:不提交直接切換,然而這個選項根本沒人會選。

是不是很難選,此時,別忘記還有 C 選項!

C:使用 git stash , 將目前修改(未提交的程式碼)存入快取區,切換分支修改 bug ,回來再透過 git stash pop 取出。

1. 暫存操作

#查看当前状态
git status 
#如果有修改,添加修改文件
git add .
#暂存操作
git stash save '本次暂存的标识名字'

2. 查看目前暫存的記錄

#查看记录
git stash list

修改儲存到什麼位置了?

當我們使用git init為專案新增版本控制的時候,會在專案路徑下產生一個.git 隱藏資料夾。 .git 中儲存著版本管理的所有資訊。
.git/refs/stash 中,儲存的是最後一個stash 對應的節點指標

同樣,在.git/log/refs/stash 中可以看到我們全部的stash 記錄資訊

儲存多個stash 的情況

ok ,我們來嘗試修改文件,然後再次使用git stash ,此時我們有兩個暫存修改,那麼怎麼查看呢?

git stash list //查看暫存區的所有暫存修改記錄

如果在未提交的情況下,執行git stash 兩次,無法準確分辨兩個stash 具體修改的是哪些內容,這樣用,顯的偉大的Git 一點都不智能,怎麼可以! 。

所以,在這種情況下,給stash 儲存的修改起個名字,顯然非常重要,方式如下:

git stash save <message>

3. 恢復暫存的工作

'pop指令恢復,恢復後,暫存區域會刪除目前的記錄'

#恢复指定的暂存工作, 暂存记录保存在list内,需要通过list索引index取出恢复
git stash pop stash@{index}

'apply指令恢復,恢復後,暫存區域會保留目前的記錄'

#恢复指定的暂存工作, 暂存记录保存在list内,需要通过list索引index取出恢复
git stash apply stash@{index}

4. 刪除暫存

#删除某个暂存, 暂存记录保存在list内,需要通过list索引index取出恢复
git stash drop stash@{index}
#删除全部暂存
git stash clear

推薦教學:《Git教學

以上是「git stash」暫存的操作詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:jb51。如有侵權,請聯絡admin@php.cn刪除
git:工具,github:服務git:工具,github:服務Apr 24, 2025 am 12:01 AM

Git和GitHub是不同的工具:Git是分佈式版本控制系統,GitHub是基於Git的在線協作平台。 Git通過工作區、暫存區和本地倉庫管理代碼,使用常見命令如gitinit、gitclone等。 GitHub提供代碼託管、PullRequest、IssueTracking等功能,基本流程包括創建倉庫、推送代碼和使用PullRequest協作。

git:版本控制的核心,github:社交編碼git:版本控制的核心,github:社交編碼Apr 23, 2025 am 12:04 AM

Git和GitHub是现代软件开发的关键工具。Git提供版本控制功能,通过仓库、分支、提交和合并管理代码。GitHub则提供代码托管和协作功能,如Issues和PullRequests。使用Git和GitHub可以显著提升开发效率和团队协作能力。

git:版本控制系統,github:託管平台git:版本控制系統,github:託管平台Apr 22, 2025 am 12:02 AM

Git是林納斯·托瓦茲在2005年開發的分佈式版本控制系統,GitHub則是2008年創立的基於Git的代碼託管平台。 Git通過快照管理文件,支持分支和合併,GitHub提供拉取請求、問題跟踪和代碼審查功能,促進團隊協作。

git和github:比較分析git和github:比較分析Apr 21, 2025 am 12:10 AM

Git和GitHub是現代軟件開發中的關鍵工具。 Git是分佈式版本控制系統,GitHub是基於Git的代碼託管平台。 Git的核心功能包括版本控制和分支管理,GitHub則提供協作和項目管理工具。使用Git時,開發者可以跟踪文件變化並協同工作;使用GitHub時,團隊可以通過PullRequests和Issues進行協作。

GitHub:代碼託管平台的簡介GitHub:代碼託管平台的簡介Apr 20, 2025 am 12:10 AM

githubiscrucialforsoftwaredevelopmentduetoitscompheasisecosystemforcodemagementagnagnagnagnagnagn和collaboration.itoffersversioncontrol,communitySupport,andtoolslikegithubictionsandpages.startbymasteringbasicslikemasteringbasicsleatbasicsleatingbasicsleatingareatingareatingarepository,and andranbranches,and andautomatimation,and automatingwo

git和github:開發人員的基本工具git和github:開發人員的基本工具Apr 19, 2025 am 12:17 AM

Git和GitHub是現代開發者的必備工具。 1.使用Git進行版本控制:創建分支進行並行開發,合併分支,回滾錯誤。 2.利用GitHub進行團隊協作:通過PullRequest進行代碼審查,解決合併衝突。 3.實用技巧和最佳實踐:定期提交,清晰的提交消息,使用.gitignore,定期備份代碼庫。

git和github:他們的關係解釋了git和github:他們的關係解釋了Apr 18, 2025 am 12:03 AM

Git和GitHub不是同一個東西:Git是一個分佈式版本控制系統,而GitHub是一個基於Git的在線平台。 Git幫助開發者管理代碼版本,通過分支、合併等功能實現協作;GitHub則提供代碼託管、審查、問題管理和社交互動功能,增強了Git的協作能力。

Git下載後需要設置什麼嗎Git下載後需要設置什麼嗎Apr 17, 2025 pm 04:57 PM

安裝 Git 後,為了更有效地使用,需要進行以下設置:設置用戶信息(姓名和郵箱)選擇文本編輯器設置外部合併工俱生成 SSH 秘鑰設置忽略文件模式

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用