在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

第一本Git命令教程(7.1)-清理之緩存

454398 ? 來源:alpha007 ? 作者:alpha007 ? 2022-12-05 17:39 ? 次閱讀

今天是 Git 系列課程第七課,上一課我們學(xué)會了查看 Git 本地歷史提交,今天痞子衡要講的是 Git 倉庫的清理操作,一共 4 個命令,都是日常開發(fā)中非常實用的命令,掌握這 4 個命令,會讓你有一種玩弄 Git 倉庫于股掌的感覺。

由于本節(jié)課是教程的核心課程,所以會分 4 小節(jié)課來講,第一講介紹 git stash

1. 緩存文件改動 git stash

試想一下你在使用 Git 時有沒有這樣的經(jīng)歷,你正在寫代碼(修改文件),但是代碼還沒有寫完善,沒達(dá)到提交的標(biāo)準(zhǔn),但是你知道了有另一個 team member 推送了一個提交,這個提交你需要立刻同步到你的本地,此時怎么辦?是的,你需要本地緩存你的改動。

1.1 緩存當(dāng)前改動 git stash [save -a "description"]

// 在 test.c 文件里增加一個 test_stash0()函數(shù) jay@pc MINGW64 /d/my_project/gittest (master)$ git diff app/test.c

diff --git a/app/test.c b/app/test.c
index 70dde01..38b763c 100644
--- a/app/test.c
+++ b/app/test.c
@@ -1,5 +1,8 @@
 #include 
 #include 
+void test_stash0(void)
+{
+}
 void test(void)
 {
     printf("this is test/n");

// 將增加 test_stash0()函數(shù)的改動緩存起來 jay@pc MINGW64 /d/my_project/gittest (master)$ git stash save -a "add test_stash0()"

Saved working directory and index state On master: add test_stash0()

// 緩存之后查看 Git 空間很干凈,說明緩存成功 jay@pc MINGW64 /d/my_project/gittest (master)$ git status

On branch master
Your branch is ahead of 'origin/master' by 2 commits.
  (use "git push" to publish your local commits)

nothing to commit, working tree clean

// 在 test.c 文件里再依次 test_stash1()、test_stash2()函數(shù),并依次緩存 jay@pc MINGW64 /d/my_project/gittest (master)$ git stash save -a "add test_stash1()"

Saved working directory and index state On master: add test_stash1()

jay@pc MINGW64 /d/my_project/gittest (master)$ git stash save -a "add test_stash2()"

Saved working directory and index state On master: add test_stash2()

1.2 查看所有已緩存改動列表 git stash list

// 查看緩存 list,此時顯示共有三次緩存 jay@pc MINGW64 /d/my_project/gittest (master)$ git stash list

stash@{0}: On master: add test_stash2()
stash@{1}: On master: add test_stash1()
stash@{2}: On master: add test_stash0()

1.3 查看某個已緩存改動的具體細(xì)節(jié) git stash show -p [stash@{n}]

// 查看編號為 stash@{1} 的緩存的具體改動 jay@pc MINGW64 /d/my_project/gittest (master)$ git stash show -p stash@{1}

diff --git a/app/test.c b/app/test.c
index 70dde01..4380571 100644
--- a/app/test.c
+++ b/app/test.c
@@ -1,5 +1,8 @@
 #include 
 #include 
+void test_stash1(void)
+{
+}
 void test(void)
 {
     printf("this is test/n");

1.4 恢復(fù)某個已緩存改動 git stash pop [stash@{n}]

現(xiàn)在我們需要從緩存區(qū)恢復(fù)某個已緩存改動,可以直接用 git stash pop 恢復(fù)最近的一次緩存,也可以用 git stash pop stash@{n} 恢復(fù)任意指定的一次緩存(也可以用 git stash pop apply stash@{n} 來恢復(fù)某個緩存,但是 apply 命令并不會將被恢復(fù)的緩存改動從緩存區(qū) list 里刪除)

// 將編號為 stash@{1} 的緩存恢復(fù) jay@pc MINGW64 /d/my_project/gittest (master)$ git stash pop stash@{1}

On branch master
Your branch is ahead of 'origin/master' by 2 commits.
  (use "git push" to publish your local commits)

Changes not staged for commit:
  (use "git add ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

        modified:   app/test.c

no changes added to commit (use "git add" and/or "git commit -a")
Dropped stash@{1} (62daecdc826586bb3c0cbe93c5f8d2e2697e9ea)

// 查看原編號為 stash@{1} 的緩存的具體改動,確實已正常恢復(fù) jay@pc MINGW64 /d/my_project/gittest (master)$ git diff app/test.c

diff --git a/app/test.c b/app/test.c
index 70dde01..38b763c 100644
--- a/app/test.c
+++ b/app/test.c
@@ -1,5 +1,8 @@
 #include 
 #include 
+void test_stash0(void)
+{
+}
 void test(void)
 {
     printf("this is test/n");

// 查看緩存 list 里被恢復(fù)的緩存"add test_stash1()"(原編號 stash@{1} 已被釋放)已不在 jay@pc MINGW64 /d/my_project/gittest (master)$ git stash list

stash@{0}: On master: add test_stash2()
stash@{1}: On master: add test_stash0()

1.5 丟棄某個已緩存改動 git stash drop [stash@{n}]

// 從緩存 list 里直接刪除編號為 stash@{1} 的緩存 jay@pc MINGW64 /d/my_project/gittest (master)$ git stash drop stash@{1}

Dropped stash@{1} (2f5dd9a45f77bcb24cac247b8f88bdec157798f2)

// 查看緩存 list 里被刪除的緩存"add test_stash0()"(原編號 stash@{1} 已被釋放)已不在 jay@pc MINGW64 /d/my_project/gittest (master)$ git stash list

stash@{0}: On master: add test_stash2()

1.6 清空所有已緩存改動 git stash clear

// 清空緩存 list jay@pc MINGW64 /d/my_project/gittest (master)$ git stash clear

// 查看緩存 list,其已被清空 jay@pc MINGW64 /d/my_project/gittest (master)$ git stash list


審核編輯黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Git
    Git
    +關(guān)注

    關(guān)注

    0

    文章

    204

    瀏覽量

    16133
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    MCU緩存設(shè)計

    MCU 設(shè)計通過優(yōu)化指令與數(shù)據(jù)的訪問效率,顯著提升系統(tǒng)性能并降低功耗,其核心架構(gòu)與實現(xiàn)策略如下: 緩存類型與結(jié)構(gòu) 指令緩存(I-Cache)與數(shù)據(jù)緩存(D-Cache)? I-Ca
    的頭像 發(fā)表于 05-07 15:29 ?281次閱讀

    Nginx緩存配置詳解

    Nginx 是個功能強(qiáng)大的 Web 服務(wù)器和反向代理服務(wù)器,它可以用于實現(xiàn)靜態(tài)內(nèi)容的緩存緩存可以分為客戶端緩存和服務(wù)端緩存
    的頭像 發(fā)表于 05-07 14:03 ?440次閱讀
    Nginx<b class='flag-5'>緩存</b>配置詳解

    高速SSD存儲系統(tǒng)中數(shù)據(jù)緩存控制器整體頂層設(shè)計

    數(shù)據(jù)緩存控制器主要實現(xiàn)了對大量突發(fā)數(shù)據(jù)的緩存、AXI4接口與AXI4-Stream接口之間的轉(zhuǎn)換和NVMe命令的生成等功能。這里主要介紹相關(guān)開發(fā)流程。
    的頭像 發(fā)表于 04-14 10:46 ?227次閱讀
    高速SSD存儲系統(tǒng)中數(shù)據(jù)<b class='flag-5'>緩存</b>控制器整體頂層設(shè)計

    nginx中強(qiáng)緩存和協(xié)商緩存介紹

    強(qiáng)緩存直接告訴瀏覽器:在緩存過期前,無需與服務(wù)器通信,直接使用本地緩存
    的頭像 發(fā)表于 04-01 16:01 ?293次閱讀

    求書一本,希望充當(dāng)教材

    2025-3-3 17:45:20 莆田學(xué)院機(jī)器人專業(yè)老師,準(zhǔn)備開設(shè)機(jī)器人操作系統(tǒng)課程,正在尋找合適教材,求書一本參考,希望能按本書進(jìn)行授課,并充當(dāng)教材。
    發(fā)表于 03-19 18:23

    【「極速探索HarmonyOS NEXT 」閱讀體驗】 初印象:一本純血鴻蒙應(yīng)用開發(fā)入門的好書

    非常有幸的于近日收到了電子發(fā)燒友寄來的《 極速探索HarmonyOS NEXT **** 純血鴻蒙應(yīng)用開發(fā)實踐》這本由清華大學(xué)出版社出版的一本純血鴻蒙應(yīng)用開發(fā)學(xué)習(xí)的一本好書。 書籍共392頁,類
    發(fā)表于 03-04 12:41

    MATLAB R2020a完全自學(xué)一本通附帶的程序

    本帖最后由 yuu_cool 于 2025-2-28 15:12 編輯 MATLAB R2020a完全自學(xué)一本通附帶程序,配合書使用 獲取資料可下載附件哦!!!!
    發(fā)表于 02-28 14:39

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-移植前準(zhǔn)備git管理內(nèi)核源碼

    我們前邊已經(jīng)介紹過Git工具,是個非常實用的代碼管理工具。如果驗證編譯出的內(nèi)核能夠正常啟動,就可以將源碼用git工具管理起來。可以清楚的了解源碼改動記錄。如果不小心把源碼改亂了還可以進(jìn)行版本
    發(fā)表于 01-23 10:51

    飛凌嵌入式ElfBoard ELF 1板卡-移植前準(zhǔn)備git管理內(nèi)核源碼

    我們前邊已經(jīng)介紹過Git工具,是個非常實用的代碼管理工具。如果驗證編譯出的內(nèi)核能夠正常啟動,就可以將源碼用git工具管理起來。可以清楚的了解源碼改動記錄。如果不小心把源碼改亂了還可以進(jìn)行版本
    發(fā)表于 01-22 10:39

    飛凌嵌入式ElfBoard ELF 1板卡-git管理源碼git安裝和使用

    第一種當(dāng)前代碼的管理。Ubuntu上安裝git執(zhí)行sudo apt-get install git 進(jìn)行git安裝elf@ubuntu:~/work/example/hello$ su
    發(fā)表于 01-14 09:08

    HTTP緩存頭的使用 本地緩存與遠(yuǎn)程緩存的區(qū)別

    HTTP緩存頭是組HTTP響應(yīng)頭,它們控制瀏覽器和中間代理服務(wù)器如何緩存網(wǎng)頁內(nèi)容。合理使用HTTP緩存頭可以顯著提高網(wǎng)站的加載速度和性能,減少服務(wù)器的負(fù)載。 1. HTTP
    的頭像 發(fā)表于 12-18 09:41 ?399次閱讀

    ROSCon China 2024 | RDK第一本教材來了!地瓜機(jī)器人與古月居發(fā)布新書《ROS 2智能機(jī)器人開發(fā)實踐》

    12月7日-8日,為期兩天的ROSCon China 2024在上海圓滿落幕,來自全球的ROS專家學(xué)者、開發(fā)者、企業(yè)代表齊聚堂,共享機(jī)器人前沿技術(shù)成果。地瓜機(jī)器人攜手眾多RDK生態(tài)產(chǎn)品亮相,并聯(lián)手古月居共同推出首基于RDK機(jī)器人開發(fā)者套件的教材——《ROS 2智能機(jī)器
    的頭像 發(fā)表于 12-10 18:48 ?1097次閱讀
    ROSCon China 2024 | RDK<b class='flag-5'>第一本</b>教材來了!地瓜機(jī)器人與古月居發(fā)布新書《ROS 2智能機(jī)器人開發(fā)實踐》

    ROSCon China 2024 | RDK第一本教材來了!地瓜機(jī)器人與古月居發(fā)布新書《ROS 2智能機(jī)器人開發(fā)實踐》

    12月7日-8日,為期兩天的ROSCon China 2024在上海圓滿落幕,來自全球的ROS專家學(xué)者、開發(fā)者、企業(yè)代表齊聚堂,共享機(jī)器人前沿技術(shù)成果。地瓜機(jī)器人攜手眾多RDK生態(tài)產(chǎn)品亮相,并聯(lián)
    發(fā)表于 12-10 10:56 ?618次閱讀

    緩存美——如何選擇合適的本地緩存

    Guava cache是Google開發(fā)的Guava工具包中套完善的JVM本地緩存框架,底層實現(xiàn)的數(shù)據(jù)結(jié)構(gòu)類似于ConcurrentHashMap,但是進(jìn)行了更多的能力拓展,包括緩存過期時間設(shè)置、
    的頭像 發(fā)表于 11-17 14:24 ?774次閱讀
    <b class='flag-5'>緩存</b><b class='flag-5'>之</b>美——如何選擇合適的本地<b class='flag-5'>緩存</b>?

    ubuntu下的vscode插件安裝idf時,總是找不到git,為什么?

    總是提示:Git is not found in current environment 但是我已經(jīng)在setting.json下設(shè)置了\"git.path\": \"/bin/git\" 同行,
    發(fā)表于 06-21 07:16
    主站蜘蛛池模板: 老司机精品视频免费 | 六月婷婷激情综合 | 91三级在线 | 天堂在线www天堂中文在线 | 俺来也俺来也天天夜夜视频 | 欧亚色视频 | 一级毛片aaaaaa免费看 | 黄大片18满岁水多 | 91在线视频观看 | 一级做a爱片特黄在线观看 一级做a爱片特黄在线观看免费看 | 日本片巨大的乳456线观看 | 亚洲成人综合网站 | 国产成人精品1024在线 | www.色涩涩.com| 色的视频网站 | 男女视频在线观看免费 | 性视频网 | aaaa大片 | 三级黄色片免费观看 | 伊人狼人在线 | 午夜网站免费 | 性感美女视频黄.免费网站 性高清 | 免费黄色毛片 | 国产成人无精品久久久久国语 | 免费观看做网站爱 | 色综合狠狠 | 色丁香婷婷 | 欧美一区二区视频 | www四虎影视| 91大神精品 | 午夜视频免费在线 | 婷婷六月综合 | 国产一区二区三区 韩国女主播 | 啪啪激情综合 | 色天使色护士 | 久久频这里精品99香蕉久网址 | 亚洲国产精品久久网午夜 | 九九精品国产兔费观看久久 | 男人午夜禁片在线观看 | 四虎最新永久免费网址 | 免费看一级特黄a大片 |