最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

git?stash(儲藏)的用法總結

 更新時間:2022年06月22日 09:25:34   作者:小旭2021  
本文詳細講解了git?stash(儲藏)的用法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

當在一個分支的開發(fā)工作未完成,卻又要切換到另外一個分支進行開發(fā)的時候,除了commit原分支的代碼改動的方法外,我覺得git stash是一個更加便捷的選擇。 

git stash(git儲藏)可用于以下情形:

  • 發(fā)現(xiàn)有一個類是多余的,想刪掉它又擔心以后需要查看它的代碼,想保存它但又不想增加一個臟的提交。這時就可以考慮git stash。
  • 使用git的時候,我們往往使用分支(branch)解決任務切換問題,例如,我們往往會建一個自己的分支去修改和調試代碼, 如果別人或者自己發(fā)現(xiàn)原有的分支上有個不得不修改的bug,我們往往會把完成一半的代碼commit提交到本地倉庫,然后切換分支去修改bug,改好之后再切換回來。這樣的話往往log上會有大量不必要的記錄。其實如果我們不想提交完成一半或者不完善的代碼,但是卻不得不去修改一個緊急Bug,那么使用git stash就可以將你當前未提交到本地(和服務器)的代碼推入到Git的棧中,這時候你的工作區(qū)間和上一次提交的內(nèi)容是完全一樣的,所以你可以放心的修Bug,等到修完Bug,提交到服務器上后,再使用git stash apply將以前一半的工作應用回來。

  • 經(jīng)常有這樣的事情發(fā)生,當你正在進行項目中某一部分的工作,里面的東西處于一個比較雜亂的狀態(tài),而你想轉到其他分支上進行一些工作。問題是,你不想提交進行了一半的工作,否則以后你無法回到這個工作點。解決這個問題的辦法就是git stash命令。儲藏(stash)可以獲取你工作目錄的中間狀態(tài)——也就是你修改過的被追蹤的文件和暫存的變更——并將它保存到一個未完結變更的堆棧中,隨時可以重新應用。

 步驟如下:

  • 添加改動到stash。在原分支 git stash save -a "messeag",網(wǎng)上很多很多資料都沒有加 -a 這個option選項,我想他們的代碼開發(fā)可能都是在原代碼上進行修改吧。而對于在項目里加入了代碼新文件的開發(fā)來說,-a選項才會將新加入的代碼文件同時放入暫存區(qū)。
  • 恢復改動。如果你要恢復的是最近的一次改動,git stash pop 即可,我用這個用的最多。如果有多次stash操作,那就通過git stash list查看stash列表,從中選擇你想要pop的stash,運行命令git stash pop stash@{id}或者 git stash apply stash@{id}即可。這方面網(wǎng)上的資料挺多的。

  • 刪除stash。git stash drop <stash@{id}> 如果不加stash編號,默認的就是刪除最新的,也就是編號為0的那個,加編號就是刪除指定編號的stash。git stash clear 是清除所有stash,整個世界一下子清凈了!

  • git stash pop 與 git stash apply <stash@{id}> 的區(qū)別。

    當我使用git stash pop 和 git stash apply 幾次以后,我發(fā)現(xiàn)stash list 好像比我預計的多了幾個stash。于是我便上網(wǎng)去了解了一下這兩個命令的區(qū)別。原來git stash pop stash@{id}命令會在執(zhí)行后將對應的stash id 從stash list里刪除,而 git stash apply stash@{id} 命令則會繼續(xù)保存stash id。對于有點強迫癥的我來說,是容不下越來越多的陳舊stash id 仍然存在的,所以我更習慣于用git stash pop 命令。

 git stash 使用實例 :

生成測試環(huán)境

// 初始化倉庫,進行一次提交
# git init stash-test
# cd stash-test && echo 'hello'> readme
# git add . && git commit -m "init"
 
// 修改工作區(qū)和暫存區(qū)
# echo 'need to be stashed' >> readme
# git add readme
 
// 查看此時工作區(qū)和版本庫區(qū)別
# git diff HEAD
diff --git a/readme b/readme
index ce01362..55d6c28 100644
--- a/readme
+++ b/readme
@@ -1 +1,2 @@
 hello
+need to be stashed

執(zhí)行stash及恢復

// 暫存當前狀態(tài)
# git stash
  
// 查看當前工作區(qū)和版本庫區(qū)別
# git diff HEAD
==> 此時什么都沒有輸出,說明工作區(qū)被重置為HEAD指向內(nèi)容了
  
// 顯示已暫存列表
# git stash list
stash@{0}: WIP on master: 440e976 init
  
// 恢復暫存區(qū)和工作區(qū)進度
# git stash pop --index stash@{0}
  
// 查看工作區(qū)和版本庫區(qū)別
# git diff HEAD
diff --git a/readme b/readme
index ce01362..55d6c28 100644
--- a/readme
+++ b/readme
@@ -1 +1,2 @@
 hello

命令詳解:

git stash  對當前的暫存區(qū)和工作區(qū)狀態(tài)進行保存。 
git stash list  列出所有保存的進度列表。 
git stash pop [--index] [<stash>] 恢復工作進度

到此這篇關于git stash(儲藏)的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 算法系列15天速成 第十四天 圖【上】

    算法系列15天速成 第十四天 圖【上】

    越是復雜的東西越能體現(xiàn)我們碼農(nóng)的核心競爭力,既然要學習圖,得要遵守一下圖的游戲規(guī)則
    2013-11-11
  • Visual?Studio實用調試技巧大全

    Visual?Studio實用調試技巧大全

    這篇文章主要給大家介紹了關于Visual?Studio實用調試技巧的相關資料,如果你還沒有使用過這些技巧,希望這篇博文能幫你發(fā)現(xiàn)它們,它們學起來很容易,能幫你節(jié)省很多時間,需要的朋友可以參考下
    2023-06-06
  • Postman全局注冊方法及對返回數(shù)據(jù)可視化處理

    Postman全局注冊方法及對返回數(shù)據(jù)可視化處理

    這篇文章主要為大家介紹了Postman全局注冊方法及對返回數(shù)據(jù)可視化處理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • VSCode中通過launch.json文件打斷點DeBug調試代碼詳細圖文教程

    VSCode中通過launch.json文件打斷點DeBug調試代碼詳細圖文教程

    在VSCode中l(wèi)aunch.json是用于配置調試器的文件,它定義了調試會話的各種設置,下面這篇文章主要給大家介紹了關于VSCode中通過launch.json文件打斷點DeBug調試代碼的詳細圖文教程,需要的朋友可以參考下
    2024-08-08
  • Vscode一些常用操作圖文教程

    Vscode一些常用操作圖文教程

    這篇文章主要給大家介紹了關于Vscode的一些常用操作的相關資料,VSCode是一款非常流行的代碼編輯器,廣泛應用于前端開發(fā),文中給出了詳細圖文教程,需要的朋友可以參考下
    2023-08-08
  • 如何給MD5加上salt隨機鹽值

    如何給MD5加上salt隨機鹽值

    不知道大家知不知道,在開發(fā)的時候如果直接給密碼散列,黑客可以通過查散列值字典(例如MD5密碼破解網(wǎng)站),得到某用戶的密碼。但如果加上salt后就會難上很多,即便是你獲得了其中的salt和最終密文,破解也是相當麻煩的。下面跟著小編通過這篇文章來一起學習學習吧。
    2016-11-11
  • 關于Idea向GitHub push代碼時一直重復提示輸入用戶名和密碼的問題

    關于Idea向GitHub push代碼時一直重復提示輸入用戶名和密碼的問題

    這篇文章主要介紹了關于Idea向GitHub push代碼時一直重復提示輸入用戶名和密碼的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • cypress測試工具特點及使用介紹

    cypress測試工具特點及使用介紹

    這篇文章主要為大家介紹了cypress測試工具以及為什么要使用cypress的原因,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • git?push指令常見選項和用法詳解

    git?push指令常見選項和用法詳解

    Git中的git?push命令用于將本地倉庫的改動推送到遠程倉庫,是協(xié)同開發(fā)中的重要工具,在團隊合作中,使用git?push和git?pull可以有效維護項目同步,避免沖突,推送時若遇到?jīng)_突需先解決后再進行推送,需要的朋友可以參考下
    2024-09-09
  • 永恒之藍實戰(zhàn)教程之Mac通過Metasploit攻擊Server2008的詳細過程

    永恒之藍實戰(zhàn)教程之Mac通過Metasploit攻擊Server2008的詳細過程

    這篇文章主要介紹了永恒之藍實戰(zhàn)教程?Mac通過Metasploit攻擊Server2008,首先準備一個Server2008,主要功能是使網(wǎng)絡上的機器能夠共享計算機文件、打印機、串行端口和通訊等資源,需要的朋友可以參考下
    2022-08-08

最新評論

新干县| 乡城县| 丹巴县| 专栏| 玉门市| 东乡| 深州市| 萨嘎县| 韶山市| 滁州市| 汤阴县| 策勒县| 无为县| 孝感市| 河北区| 玛纳斯县| 峨眉山市| 武鸣县| 阿克苏市| 盱眙县| 沂南县| 屏东市| 江源县| 应城市| 定州市| 东乡族自治县| 大安市| 凤庆县| 奉化市| 巴楚县| 济宁市| 方城县| 孙吴县| 伊通| 增城市| 辽阳县| 永兴县| 侯马市| 芮城县| 惠来县| 依兰县|