摘要:今天要介紹的操作就是,毫不夸張地說,每個用的開發人員都一定要會懂怎么使用。好了,今天要介紹的主角就能實現我們的需求。我們來看下這個功能到底是怎么使用的。前幾天我被極客時間的教程刷屏。坦白講,的確是一項必備技能。
今天要介紹的 Git 操作就是 stash,毫不夸張地說,每個用 Git 的開發人員都一定要會懂怎么使用。
在介紹之前,不知道你有沒有和我一樣的經歷:某一天,我正在一個 feature 分支上高高興興地寫著(ba)代(a)碼(ge)。突然線上環境報錯了,是我負責的部分,此時當然是救火要緊哈,準備停下手中的工作準備切 master 分支 checkout 個 hotfix 分支出來。
腦袋正閃出這個想法的時候,咦,發現有點不對勁了 —— 此時我的 feature 分支功能還沒做完,comment 上去沒意義呀!將修改全部刪掉更是不可能,這輩子都是不可能的,那這要怎么辦呢?
如果這時能把這個 feature 分支中,還沒寫好的代碼找個地方先藏起來,等到要用的時候再拿出去就完美了。
好了,今天要介紹的主角就能實現我們的需求。我們來看下 stash 這個功能到底是怎么使用的。
假如我現在的代碼是這樣的:
public static void main(String[] args) { System.out.println("我是 feature 分支原有的代碼"); // ... System.out.println("我是正在開發的代碼"); }
接著上面的情景,我需要把正在開發的代碼給藏起來,那么直接使用 git stash 命令即可,使用后就會變成這樣的效果:
public static void main(String[] args) { System.out.println(我是 feature 分支原有的代碼"); // ... }
好了,正在 feature 分支還沒寫完的代碼已經被藏起來了,此時,好奇心滿滿的你想著,它是被藏到哪里去呢?一頓谷歌之后,你發現可以通過這個命令查看 git stash list,如圖:
圖中的 stash@(0) 就是被藏起來的記錄了,知道真相的你這下可以放心地去處理線上問題了。
你很牛皮,線上問題沒一會功夫就搞定了,此時你再次切回剛才的 feature 分支,想要把剛才藏起來的代碼拿出來。好了,一頓谷歌之后,你發現有兩種拿的方法,分別是:
1、git stash pop
2、git stash apply
那這兩者有什么不同呢?還記得剛才提交到 git stash list 命令顯示的結果嗎?—— stash@(0)
git stash pop 的是恢復剛才被藏起來的代碼,同時刪除 stash@(0) 這條記錄也刪了,此時你再使用 git stash list 命令就沒有結果了:
明白 git stash pop 的作用后,那 git stash apply 命令也很好理解了,它們唯一的不同就是 git stash apply 命令不會刪除stash@(0) 這條記錄。
最后,如果你在一個分支上使用了 n 次 git stash 命令,那么就會有 stash@(0)、stash@(1)、...、stash@(n),對應一共有 n 條記錄。
那我們要這么多條記錄有什么用呢?
答案就是我們可以指定 git stash pop/apply 哪條記錄。假如我想要恢復 stash@(1) 記錄。那么對應的命令是 git stash pop stash@(1) 或 git stash apply stash@(1)
OK,以上就是全部內容了,希望對你有幫助。
PS:前幾天我被極客時間的 Git 教程刷屏。坦白講,Git 的確是一項必備技能。除了極客時間的教程之外,我也非常推薦廖雪峰老師的 Git 教程,鏈接如下:
https://www.liaoxuefeng.com/w...
PS:本文原創發布于微信公眾號「不只Java」,后臺回復「電子書」,說不定有你想要的經典書籍呢。公眾號專注分享 Java 干貨、讀書筆記、成長思考。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/72696.html
摘要:詳解及實用指南之一本地操作詳解及實用指南之二遠程操作創建與合并分支利用分支就可以實現多人開發的偉大模式,從而提高生產效率。分支默認情況下,是一條線,利用指向最新的提交,再用批向就能確定當前分支以及當前分支的提交點。 1. git 詳解及實用指南之一 (本地操作) 2. git 詳解及實用指南之二 (遠程操作) 1.創建與合并分支 利用分支就可以實現多人開發的偉大模式,從而提高生產效率。...
摘要:詳解及實用指南之一本地操作詳解及實用指南之二遠程操作創建與合并分支利用分支就可以實現多人開發的偉大模式,從而提高生產效率。分支默認情況下,是一條線,利用指向最新的提交,再用批向就能確定當前分支以及當前分支的提交點。 1. git 詳解及實用指南之一 (本地操作) 2. git 詳解及實用指南之二 (遠程操作) 1.創建與合并分支 利用分支就可以實現多人開發的偉大模式,從而提高生產效率。...
摘要:分支操作創建分支創建并切換到新建的分支上切換分支查看分支列表查看所有分支的最后一次操作查看當前分支分支名分支名創建遠程分支到本地查看別的分支和當前分支合并過的分支查看未與當前分支合并的分支分支名刪除本地分支分支名強行刪 showImg(https://segmentfault.com/img/remote/1460000018273797?w=960&h=600); 分支操作 git...
閱讀 3949·2021-11-22 13:53
閱讀 1676·2021-08-25 09:39
閱讀 2410·2019-08-29 18:36
閱讀 1469·2019-08-26 13:35
閱讀 1215·2019-08-26 11:57
閱讀 1678·2019-08-23 15:57
閱讀 803·2019-08-23 14:55
閱讀 1163·2019-08-23 14:51