欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

 步驟如下:

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

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

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

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

 git stash 使用實(shí)例 :

生成測試環(huán)境

// 初始化倉庫,進(jì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及恢復(fù)

// 暫存當(dāng)前狀態(tài)
# git stash
  
// 查看當(dāng)前工作區(qū)和版本庫區(qū)別
# git diff HEAD
==> 此時什么都沒有輸出,說明工作區(qū)被重置為HEAD指向內(nèi)容了
  
// 顯示已暫存列表
# git stash list
stash@{0}: WIP on master: 440e976 init
  
// 恢復(fù)暫存區(qū)和工作區(qū)進(jìn)度
# 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  對當(dāng)前的暫存區(qū)和工作區(qū)狀態(tài)進(jìn)行保存。 
git stash list  列出所有保存的進(jìn)度列表。 
git stash pop [--index] [<stash>] 恢復(fù)工作進(jìn)度

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

相關(guān)文章

  • git-pycharm配置.ignore文件的詳細(xì)過程

    git-pycharm配置.ignore文件的詳細(xì)過程

    在開發(fā)中經(jīng)常需要配置提交git的忽略文件,本篇來學(xué)習(xí)下使用pycharm自動生成.ignore文件,感興趣的朋友跟隨小編一起看看吧
    2023-06-06
  • 從git倉庫中刪除.idea文件夾的小妙招

    從git倉庫中刪除.idea文件夾的小妙招

    這篇文章主要介紹了從git倉庫中刪除.idea文件夾的小妙招,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • idea對CPU的占用率過大問題的解決方法

    idea對CPU的占用率過大問題的解決方法

    本文主要介紹了idea對CPU的占用率過大問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • Web開發(fā)/設(shè)計人員應(yīng)當(dāng)知道的15個網(wǎng)站

    Web開發(fā)/設(shè)計人員應(yīng)當(dāng)知道的15個網(wǎng)站

    建個好網(wǎng)站絕非易事,工欲善其事必先利其器。本文編譯了15個極其有用的網(wǎng)站,任何一位網(wǎng)站開發(fā)者或設(shè)計人員都應(yīng)該收藏起來
    2011-05-05
  • IDEA配置以及插件和快捷鍵超全總結(jié)

    IDEA配置以及插件和快捷鍵超全總結(jié)

    這篇文章主要給大家介紹了關(guān)于IDEA配置以及插件和快捷鍵的相關(guān)資料,學(xué)習(xí)軟件工程的同學(xué)基本上都要用到idea,并且它也是目前比較主流的開發(fā)工具,需要的朋友可以參考下
    2023-07-07
  • Git 2.27.0詳細(xì)安裝步驟詳解

    Git 2.27.0詳細(xì)安裝步驟詳解

    這篇文章主要介紹了Git 2.27.0詳細(xì)安裝步驟,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • conda常用命令整理及用法詳解

    conda常用命令整理及用法詳解

    這篇文章主要為大家介紹了conda常用命令整理及用法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • vs2019生成dll并調(diào)用的實(shí)現(xiàn)示例

    vs2019生成dll并調(diào)用的實(shí)現(xiàn)示例

    這篇文章主要介紹了vs2019生成dll并調(diào)用的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 老生常談計算機(jī)中的編碼問題(必看篇)

    老生常談計算機(jī)中的編碼問題(必看篇)

    下面小編就為大家?guī)硪黄仙U動嬎銠C(jī)中的編碼問題(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • 十分鐘內(nèi)學(xué)會 避免用戶刷新導(dǎo)致重復(fù)POST提交

    十分鐘內(nèi)學(xué)會 避免用戶刷新導(dǎo)致重復(fù)POST提交

    在Web應(yīng)用中,采用POST提交信息是非常常見的,然而如果目標(biāo)頁面打開得太慢,用戶就可能會刷新頁面,這時候之前已經(jīng)提交過的信息就會被重復(fù)提交。
    2009-08-08

最新評論