git stash save與git stash push區別
首先強調一點,git stash save命令不被推薦使用,使用git stash push替代。
關於git stash基本用法可以參閱git stash用法詳解一章節。
標題中的兩個命令都可以儲存當前的修改,將工作區或者暫存區儲藏起來。
程式碼例項如下:
[Shell] 純文字檢視 複製程式碼$ git stash push
程式碼執行效果截圖如下:
上述程式碼完成了儲藏功能,使用$ git stash save命令同樣可以完成相同的任務。
但是兩者還是有所區別,下面做一下簡單介紹。
一.是否推薦使用:
(1).雖然當前網路大多使用git stash save為例,但是此命令已經不再推薦使用。
(2).當前推薦使用git stash push命令。
二.儲藏說明資訊的新增:
(1).使用git stash push命令,程式碼如下:
[Shell] 純文字檢視 複製程式碼$ git stash push -m "螞蟻部落"
需要-m引數,是--message的縮寫,不能省略否則會報錯。
(2).使用git stash save命令,程式碼如下:
[Shell] 純文字檢視 複製程式碼$ git stash save "螞蟻部落"
不需要-m引數,否則會報錯。
三.是否可以指定路徑:
首先看一下專案的目錄結構:
根目錄下有子目錄subDir,此目錄下有檔案subDir.txt。
修改readme.txt和subDir.txt檔案,檢視狀態如下:
[Shell] 純文字檢視 複製程式碼$ git status
程式碼執行效果截圖如下:
現在使用push指定儲藏路徑,程式碼如下:
[Shell] 純文字檢視 複製程式碼$ git stash push subDir/subDir.txt
下面檢視一下儲藏後的狀態,截圖如下:
可以看到,子目錄下的修改檔案subDir.txt檔案被儲藏起來,根目錄下的修改檔案依然保持原來狀態。
再來看一下save指定儲藏路徑的情況,程式碼如下:
[Shell] 純文字檢視 複製程式碼$ git stash save subDir/subDir.txt
然後再來檢視專案狀態,截圖如下:
由此可見,無論根目錄還是子目錄的修改檔案都被儲藏起來。
所以$ git stash save後面跟著路徑無效,並不能精確儲藏指定路徑下的修改檔案。
相關文章
- Git -- StashGit
- git stashGit
- git stash回退Git
- Git Stash用法Git
- git stash 怎麼用?Git
- git stash用法詳解Git
- 【Git】stash 用法總結Git
- git stash使用一則Git
- git分支管理和stashGit
- git-stash簡單用法Git
- git stash 引發得事故Git
- Two useful scenarios of git stashiOSGit
- git stash 命令簡單使用Git
- Git-命令列-使用 git stash 暫存程式碼Git命令列
- Git 隱藏程式碼篇stash(三)Git
- Git基於指定stash儲藏建立分支Git
- git常用命令stash詳細解釋。Git
- git stash關於程式碼中bug的查詢使用Git
- git log與git reflog區別Git
- git push 失敗 failed to push some refs to gitGitAI
- git merge 與 git rebase的區別Git
- Git衝突:commit your changes or stash them before you can merge.GitMIT
- git push命令Git
- Git與GitHub的區別Github
- Git與Svn的區別Git
- git與svn的區別面試Git面試
- git - git push origin master 報錯GitAST
- 解決 Git 更新本地衝突:commit your changes or stash them before you can mergeGitMIT
- 痞子衡嵌入式:第一本Git命令教程(7.1)- 清理之快取(stash)Git快取
- git push報錯error: failed to push some refs to 'git@github.com:ErrorAIGithub
- Git log 和 Git reflog 區別Git
- Git取消合併(merge)、暫存修改(stash)、回退到某個版本(reset)的使用方法Git
- Git衝突:commit your changes or stash them before you can merge. 解決辦法GitMIT
- git push.default is unsetGit
- Git fetch和git pull的區別Git
- Git tag標籤與branch分支 區別Git
- Git/Repo/Gerrit區別Git
- Git更新本地倉庫及衝突"Commit your changes or stash them before you can merge"解決GitMIT