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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

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

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

1. 緩存文件改動 git stash

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

1.1 緩存當前改動 git stash [save -a "description"]

// 在 test.c 文件里增加一個 test_stash0()函數 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()函數的改動緩存起來 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()函數,并依次緩存 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 查看某個已緩存改動的具體細節 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 恢復某個已緩存改動 git stash pop [stash@{n}]

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

// 將編號為 stash@{1} 的緩存恢復 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} 的緩存的具體改動,確實已正常恢復 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 里被恢復的緩存"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


審核編輯黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Git
    Git
    +關注

    關注

    0

    文章

    201

    瀏覽量

    15786
收藏 人收藏

    評論

    相關推薦

    HTTP緩存頭的使用 本地緩存與遠程緩存的區別

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

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

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

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

    12月7日-8日,為期兩天的ROSCon China 2024在上海圓滿落幕,來自全球的ROS專家學者、開發者、企業代表齊聚堂,共享機器人前沿技術成果。地瓜機器人攜手眾多RDK生態產品亮相,并聯
    發表于 12-10 10:56 ?208次閱讀

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

    Guava cache是Google開發的Guava工具包中套完善的JVM本地緩存框架,底層實現的數據結構類似于ConcurrentHashMap,但是進行了更多的能力拓展,包括緩存過期時間設置、
    的頭像 發表于 11-17 14:24 ?357次閱讀
    <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 但是我已經在setting.json下設置了\"git.path\": \"/bin/git\" 同行,
    發表于 06-21 07:16

    關于Docker 的清理命令集錦

    這篇文章主要介紹了Docker 清理命令集錦,需要的朋友可以參考下 復制代碼代碼如下: docker kill $(docker ps -a -q) ?刪除所有已經停止的容器 復制代碼代碼如下
    的頭像 發表于 06-13 15:56 ?395次閱讀

    通過git命令獲取ESP8266_RTOS_SDK失敗如何解決?

    本人使用的硬件平臺為esp8266,開發環境為ubuntu22.04。在通過git命令獲取ESP8266_RTOS_SDK失敗,通過上網搜索嘗試了很多方法無效。具體情況如下
    發表于 06-07 07:26

    飛凌ElfBoard ELF 1板卡-ubuntu18.04 git安裝及基本使用

    的名字\"git config --global user.email \"你的郵箱地址\" 4.把所有文件添加到緩存git add . 5.提交緩存區的所有修改到倉庫
    發表于 03-21 16:23

    全志D1s裸機開發體驗第一個程序

    體驗第一個程序 2.1 編譯燒錄運行 2.1.1編譯 先進入源碼目錄,打開 Git Bash,如下圖操作: 然后在 Git Bash 中執行 make 命令,可以生成
    發表于 03-08 11:43

    如何清理完arcgis殘留文件

    清理完ArcGIS殘留文件是個相對復雜的過程,需要逐個清理相關的文件和注冊表項。下面介紹如何清理完ArcGIS殘留文件。 步驟:準備工作
    的頭像 發表于 02-25 13:59 ?4764次閱讀

    《Linux常用命令自學手冊》工具書永遠是常備的秘籍

    。《Linux常用命令自學手冊》就是其中的一本工具書,它以清晰、簡潔的方式,將復雜的命令行知識呈現給讀者,為Linux新手和老手都提供了寶貴的參考。 這本書最引人注目的特點之是其結
    發表于 01-29 19:42

    藍牙 | 軟件:Git管理高通的ChipCode項目

    最近發現大家在高通chipcode網站上下載不了代碼,小編直使用git的方式獲取新版本代碼,沒有遇到什么阻礙。于是小編到新主機上嘗試下載代碼的壓縮包和git代碼,都遇到了問題。由于壓縮包是高通自己
    的頭像 發表于 01-26 08:29 ?418次閱讀
    藍牙 | 軟件:<b class='flag-5'>Git</b>管理高通的ChipCode項目

    【RISC-V開放架構設計之道|閱讀體驗】一本別出心裁的RISC-V架構之書(第一章)

    【RISC-V開放架構設計之道|閱讀體驗】一本別出心裁的RISC-V架構之書(第一章) 申請這本書的時候就看到了書評中有幾點吸引我,讓我希望拜讀下: 本書的作者是RISC-V架構的作者、著名
    發表于 01-24 19:06

    【RISC-V開放架構設計之道|閱讀體驗】學習處理器體系架構的一本好書

    并不是一本簡單羅列指令的書籍,而是一本全面介紹指令設計理念的書籍。書籍的內容充分反映了最新的計算機指令設計的理念,這是我推薦該書的最主要理由。 為提升該書的趣味性,作者在頁邊加入約 50 段花絮,用于
    發表于 01-23 20:08

    如何選擇合適的本地緩存

    小編最近在使用系統的時候,發現盡管應用已經使用了 redis 緩存提高查詢效率,但是仍然有進步優化的空間,于是想到了比分布式緩存性能更好的本地緩存,因此對領域內常用的本地
    的頭像 發表于 01-18 11:19 ?870次閱讀
    如何選擇合適的本地<b class='flag-5'>緩存</b>?
    主站蜘蛛池模板: 三级黄色在线视频中文| 天天看天天操| 人人精品| 国产女人在线视频| 日产精品卡二卡三卡四卡乱码视频| 日本不卡在线一区二区三区视频| 精品影视网站入口| 夜夜爽66| 成人一二| 国产亚洲精品成人a在线| 欧美一区二区三区不卡片| 亚州免费一级毛片| 黄网站在线观看| 国产免费啪啪| 成人国产一区二区| 欧美午夜精品一区二区三区| 最新欧美一级视频| 国产一区高清| 久久久久免费精品国产小说| 国产色综合天天综合网| 视频高清正版在线观看| 一级免费片| 久久久久久国产精品免费免| 日色视频| 欧美黑人换爱交换乱理伦片| 九九国产精品视频| 亚洲免费视频网| 羞羞视频靠逼视频大全| 亚洲一成人毛片| 亚洲一区二区三区在线| 在线看你懂得| 亚洲精品一线二线三线| 亚洲综合激情六月婷婷在线观看| 在线视频这里只有精品| 色爱综合区| 国产二区三区毛片| 正在播放国产女免费| 在线看片福利| 丁香婷婷综合网| 中文字幕视频一区| 天堂资源8中文最新版在线|