国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

IDEA中如何實(shí)現(xiàn) git stash 命令的可視化操作?

這篇具有很好參考價(jià)值的文章主要介紹了IDEA中如何實(shí)現(xiàn) git stash 命令的可視化操作?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

問(wèn)題現(xiàn)象:

問(wèn)題分析:

拓展:git stash 相關(guān)命令

1、git stash

2、git stash save '注釋'

3、git stash list

4、git stash pop

5、git stash apply?stash@{編號(hào)}

6、git stash drop stash@{編號(hào)}

7、git stash clear

8、git stash show

??解決方法:


問(wèn)題現(xiàn)象:

????????今天在項(xiàng)目想到一個(gè)問(wèn)題:

? ? ? ? 在同一個(gè)代碼倉(cāng)庫(kù)中,如果我在當(dāng)前分支(如:task/111-001-demo)上正在敲著代碼,還沒(méi)完成的;突然來(lái)個(gè)緊急任務(wù)要我切換到另一個(gè)分支(如:emergency)去修復(fù)某個(gè)bug或新增某個(gè)功能,那我當(dāng)前分支還沒(méi)寫(xiě)完的代碼該怎么處置/保存呢?很顯然我們需要在切換分支之前保存當(dāng)前分支上的代碼改動(dòng)。

? ? ? ? 那么問(wèn)題來(lái)了:

????????在切換分支之前該如何保存當(dāng)前分支上的代碼改動(dòng)呢?

? ? ? ? 最近發(fā)現(xiàn)了一種新的方法:就是使用 git stash 命令就可以很完美地解決上面這個(gè)問(wèn)題,但在實(shí)際開(kāi)發(fā)過(guò)程中很多人都是能不敲命令就不敲命令,于是就引出了一個(gè)新的問(wèn)題:

????????IDEA中如何實(shí)現(xiàn) git stash 命令的可視化操作?


問(wèn)題分析:

? ? ? ? 我們可以分析一下上面這種情況:

1、由于是緊急任務(wù)(如:生產(chǎn)環(huán)境出現(xiàn)bug需要盡快解決),那么該任務(wù)優(yōu)先級(jí)必然是最高的,需要優(yōu)先處理。

2、由于緊急任務(wù)所在代碼分支與當(dāng)前代碼的分支不同,因此需要切換分支。

3、當(dāng)前分支有尚未完成的代碼,需要保存,因?yàn)?strong>直接切換分支會(huì)導(dǎo)致當(dāng)前分支上的改動(dòng)丟失。

? ? ? ? OK,問(wèn)題要素分析完了,可以發(fā)現(xiàn)最關(guān)鍵就是要保存當(dāng)前代碼的改動(dòng)!那么順序就應(yīng)該是:

1、保存當(dāng)前代碼分支(如:task/111-001-demo)的改動(dòng);

2、切換到緊急任務(wù)分支(如:emergency);

3、解決緊急任務(wù);

4、切換回當(dāng)前分支(如:task/111-001-demo)繼續(xù)開(kāi)發(fā)之前尚未完成的代碼。

? ? ? ? 切記:在多人協(xié)作開(kāi)發(fā)的場(chǎng)景下,不要把當(dāng)前分支未完成開(kāi)發(fā)的代碼 commit并push 到遠(yuǎn)程庫(kù),然后直接去做你的緊急任務(wù)去了。因?yàn)檫h(yuǎn)程庫(kù)的改動(dòng)很容易影響到其他開(kāi)發(fā)者。

????????那么在切換分支之前該如何保存當(dāng)前分支上的代碼改動(dòng)呢?下面提供2種我以前常用的笨方法:

? ? ? ? 1、將當(dāng)前分支下發(fā)生了改動(dòng)的文件都拷貝一份到某個(gè)自定義的備份目錄中,后期切換回當(dāng)前分支時(shí)再拷貝回去。

? ? ? ? 優(yōu)點(diǎn):將發(fā)生改動(dòng)的文件都備份起來(lái),這樣絕對(duì)不會(huì)發(fā)生丟失的問(wèn)題。

? ? ? ? 缺點(diǎn):操作復(fù)雜而繁瑣,如果要精確到具體發(fā)生改動(dòng)的文件,則不僅需要挑出這些文件,還需要記錄這些文件對(duì)應(yīng)的存放路徑;或者將整個(gè)父級(jí)目錄備份,但很可能會(huì)包含沒(méi)有發(fā)生改動(dòng)過(guò)的文件,因此在子文件很多的時(shí)候,有些浪費(fèi)時(shí)間和精力。

? ? ? ? 2、在當(dāng)前分支commit,后期切換回當(dāng)前分支時(shí)可以直接在之前commit后的基礎(chǔ)上繼續(xù)開(kāi)發(fā)。

? ? ? ? 優(yōu)點(diǎn):操作簡(jiǎn)單方便,由于commit是提交到本地庫(kù),因此不會(huì)影響到遠(yuǎn)程庫(kù),也不會(huì)影響到其他開(kāi)發(fā)者。

? ? ? ? 缺點(diǎn):當(dāng)開(kāi)發(fā)完成,需要push到遠(yuǎn)程庫(kù)時(shí),則需要執(zhí)行commit和push操作,因此最終遠(yuǎn)程庫(kù)上就會(huì)出現(xiàn)多條commit日志。

????????那么,除了上面提到的2種笨方法之外,有沒(méi)有更完美的第3種方法呢?

? ? ? ? 確實(shí)有的,那就是使用 git stash 命令。

????????3、在當(dāng)前分支,使用 git stash 操作可以將本地庫(kù)對(duì)當(dāng)前分支的所有改動(dòng)放入本地緩存區(qū)(該緩存區(qū)未被刪除,則會(huì)一直存在于本地庫(kù)中),緩存完后當(dāng)前分支就會(huì)回復(fù)到上一次從遠(yuǎn)程庫(kù)pull之后的狀態(tài),此時(shí)可以直接切換到緊急任務(wù)分支去了,后期切換回當(dāng)前分支時(shí),重新加載本地緩存區(qū)即可還原到緩存前的狀態(tài)。

? ? ? ? 優(yōu)點(diǎn):不會(huì)影響遠(yuǎn)程庫(kù),也不需要commit操作。

? ? ? ? 缺點(diǎn):沒(méi)有什么明顯的缺點(diǎn),硬要說(shuō)的話,就是操作會(huì)比直接commit的操作復(fù)雜一點(diǎn)點(diǎn)。

????????最近我才發(fā)現(xiàn) git stash 命令的好用之處,估計(jì)也有很多小伙伴在實(shí)際開(kāi)發(fā)中未曾使用過(guò) git stash 命令。

? ? ? ? 我猜:原因大概是因?yàn)樵贗DEA中,我們可以很明顯的點(diǎn)擊可視化按鈕,如下:

idea stash,Git代碼倉(cāng)庫(kù),IDEA,git

idea stash,Git代碼倉(cāng)庫(kù),IDEA,git

?????????來(lái)快速實(shí)現(xiàn)commit和push操作,而不需要敲任何git命令。


拓展:git stash 相關(guān)命令

1、git stash

? ? ? ? 創(chuàng)建stash緩存/暫存,保存當(dāng)前分支的本地工作區(qū)與暫存區(qū)的狀態(tài),stash名為stash@{編號(hào)}。

2、git stash save '注釋'

????????創(chuàng)建stash緩存/暫存,保存當(dāng)前分支的本地工作區(qū)與暫存區(qū)的狀態(tài),stash名為stash@{編號(hào)},并添加注釋。與 git stash 的區(qū)別是:可以加注釋。

????????git stash save 'test git stash 001'

3、git stash list

????????查看stash列表,可以看到本地庫(kù)中當(dāng)前分支上的創(chuàng)建的所有stash。

4、git stash pop

????????還原至最新的一個(gè)stash(即stash@{0})的狀態(tài),并刪除該stash。

? ? ? ? 注意:該命令會(huì)在還原至stash@{0}的狀態(tài)后,刪除stash@{0}。

5、git stash apply?stash@{編號(hào)}

????????還原至指定stash(即stash@{編號(hào)})的狀態(tài)。與 git stash pop 的區(qū)別是:不會(huì)刪除stash,所以還原stash的時(shí)候,建議使用apply命令。

? ? ? ? 使用方法:git stash apply stash@{編號(hào)}

6、git stash drop stash@{編號(hào)}

? ? ? ??刪除某個(gè)指定stash,無(wú)法指定多個(gè),一次只能刪除一個(gè)。

? ? ? ? 使用方法:git stash drop stash@{編號(hào)}

7、git stash clear

????????刪除全部的stash。

8、git stash show

????????查看堆棧中最新保存的stash(最新保存的stash名一定是:stash@{0})和當(dāng)前分支(緩存完后當(dāng)前分支就會(huì)回復(fù)到上一次從遠(yuǎn)程庫(kù)pull之后的狀態(tài))的差異,顯?做了哪些改動(dòng)。

? ? ? ? 例如StaticClass.java文件,我敲了2個(gè)回車(chē),則show結(jié)果如下:

idea stash,Git代碼倉(cāng)庫(kù),IDEA,git

? ? ? ? 對(duì)比stash@{0}和當(dāng)前分支差異之后,檢測(cè)到路徑為:

????????src/main/java/com/stephen/javademo/statictest/StaticClass.java?

????????有1個(gè)文件,和上一次從遠(yuǎn)程庫(kù)pull之后的狀態(tài)相比,發(fā)生了2個(gè)插入改動(dòng)(2個(gè)回車(chē)符)。


? ? ? ? 上面的拓展節(jié)點(diǎn)中,給大家介紹了一些git stash的常用命令,那么在實(shí)際開(kāi)發(fā)中,是不是就一定要敲命令呢?

? ? ? ?【我知道有些人是比較懶或記性差的,我自己也是,能鼠標(biāo)操作的,絕對(duì)敲命令,而且我也不想即命令。。。。。。這一點(diǎn),請(qǐng)大家不要向我學(xué)習(xí)。】

? ? ? ? 經(jīng)過(guò)實(shí)踐,我終于在IDEA開(kāi)發(fā)工具中摸索出了最簡(jiǎn)單的stash使用方式。


??解決方法:

? ? ? ? 緩存/暫存本地庫(kù)中對(duì)當(dāng)前分支的所有改動(dòng),在IDEA開(kāi)發(fā)工具中的操作步驟如下:

? ? ? ? 1、創(chuàng)建stash:點(diǎn)擊菜單欄的?VCS-Git-Stash Changes... :

idea stash,Git代碼倉(cāng)庫(kù),IDEA,git

? ? ? ? 彈出窗口如下,輸入Message,勾選Keep index,點(diǎn)擊 Create Stash按鈕,如下:

idea stash,Git代碼倉(cāng)庫(kù),IDEA,git

????????這一步其實(shí)就相當(dāng)于調(diào)用了命令?git stash save 'test stash1';

? ? ? ? 而 Keep index 的作用,直接上圖吧:

idea stash,Git代碼倉(cāng)庫(kù),IDEA,git

? ? ? ? 翻譯過(guò)來(lái)的意思就是說(shuō):如果選中此復(fù)選框,則索引更改將保存在索引中。

? ? ? ? ?這個(gè)功能我就先不探究了,留給剛興趣的小伙伴去實(shí)踐一下,目前我就建議大家直接勾選就好了。

? ? ? ? ?2、查看stash列表:點(diǎn)擊菜單欄的?VCS-Git-UnStash Changes... :

idea stash,Git代碼倉(cāng)庫(kù),IDEA,git

? ? ? ? 彈出窗口,在Stashes項(xiàng)中可以看到我創(chuàng)建了4個(gè)stash,從上到下(從0到3)分別是最新到最舊。

idea stash,Git代碼倉(cāng)庫(kù),IDEA,git

????????除此之外,還發(fā)現(xiàn)該窗口有很多非常實(shí)用功能,而且還對(duì)應(yīng)了拓展節(jié)點(diǎn)中提到的大部分常用的 git stash 命令,例如:

????????View:可以查看選中的stash中記錄了什么文件及文件中的改動(dòng),如我選中第一個(gè)stash點(diǎn)擊View:

idea stash,Git代碼倉(cāng)庫(kù),IDEA,git

? ? ? ? 雙擊打開(kāi)窗口中的StaticClass.java文件,可以查看具體的改動(dòng),如:

idea stash,Git代碼倉(cāng)庫(kù),IDEA,git

????????Drop:相當(dāng)于git stash drop stash@{編號(hào)},可以刪除選中的stash。

? ? ? ? 這里我測(cè)試一下刪除最后一個(gè)stash(即stash@{3}),如圖:

idea stash,Git代碼倉(cāng)庫(kù),IDEA,git

idea stash,Git代碼倉(cāng)庫(kù),IDEA,git

?? ? ?

????????Clear:相當(dāng)于git stash clear,刪除所有的stash。

? ? ? ? 測(cè)試Clear,如圖:

idea stash,Git代碼倉(cāng)庫(kù),IDEA,git

? ? ? ? ?點(diǎn)擊Yes后,所有stash被刪除:

idea stash,Git代碼倉(cāng)庫(kù),IDEA,git

????????Pop stash:勾選之后,會(huì)發(fā)現(xiàn)原來(lái)的Apply Stash按鈕變成了Pop Stash,就相當(dāng)于git stash pop命令,還原至選中的stash,并刪除該stash。?

? ? ? ? 測(cè)試Pop Stash選中的stash(stash@{2}):

idea stash,Git代碼倉(cāng)庫(kù),IDEA,git

????????可以發(fā)現(xiàn)Pop Stash之后,stash@{2}被自動(dòng)刪除了。

? ? ? ? Apply Stash:相當(dāng)于git stash apply?stash@{編號(hào)}命令,還原至選中的stash。

? ? ? ? 測(cè)試Apply Stash選中的stash@{1}之后,發(fā)現(xiàn)stash@{1}還存在,未被自動(dòng)刪除。

idea stash,Git代碼倉(cāng)庫(kù),IDEA,git

????????至此就完成了IDEA中實(shí)現(xiàn) git stash 命令的可視化操作了。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-778171.html

到了這里,關(guān)于IDEA中如何實(shí)現(xiàn) git stash 命令的可視化操作?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • GIT實(shí)戰(zhàn)篇,教你如何使用GIT可視化工具

    GIT實(shí)戰(zhàn)篇,教你如何使用GIT可視化工具

    手把手教你安裝Git,萌新邁向?qū)I(yè)的必備一步 GIT命令只會(huì)抄卻不理解?看完原理才能事半功倍! 快速上手GIT命令,現(xiàn)學(xué)也能登堂入室 經(jīng)過(guò)前三期的學(xué)習(xí),不管是GIT模型還是GIT命令,相信大家都已經(jīng)有了比較全面的了解。當(dāng)然,盡管GIT命令永遠(yuǎn)是最強(qiáng)大而全面的,但并不是說(shuō)

    2024年02月10日
    瀏覽(96)
  • 如何實(shí)現(xiàn)電商數(shù)據(jù)可視化

    一、什么是API? API,即Application Programming Interface,翻譯過(guò)來(lái)就是“應(yīng)用程序編程接口”。它是用于不同軟件和應(yīng)用之間進(jìn)行交互的一種技術(shù)規(guī)范。通過(guò)API,我們可以讓兩個(gè)應(yīng)用程序之間進(jìn)行數(shù)據(jù)和功能的交換和共享,從而實(shí)現(xiàn)更加復(fù)雜的數(shù)據(jù)分析和可視化效果。 二、電商A

    2024年02月10日
    瀏覽(13)
  • 【Git】Git 操作命令可視化(五):git clone、git fetch、git pull、git push、git pull --rebase、解決遠(yuǎn)程倉(cāng)庫(kù)與本地倉(cāng)庫(kù)的代碼沖突

    【Git】Git 操作命令可視化(五):git clone、git fetch、git pull、git push、git pull --rebase、解決遠(yuǎn)程倉(cāng)庫(kù)與本地倉(cāng)庫(kù)的代碼沖突

    1. git clone main是本地的main分支,o(origin)/main是表示本地拉去下來(lái)的遠(yuǎn)程的main分支 o/main分支記錄了遠(yuǎn)程倉(cāng)庫(kù)拉取時(shí)的分支狀態(tài) 遠(yuǎn)程分支有一個(gè)特別的屬性,在你切換到遠(yuǎn)程分支時(shí),git會(huì)自動(dòng)進(jìn)入分離 HEAD 狀態(tài)(這樣做是因?yàn)間it不想讓你在本地就能直接進(jìn)行修改遠(yuǎn)程倉(cāng)庫(kù)代碼的

    2024年02月08日
    瀏覽(244)
  • 電商平臺(tái)數(shù)據(jù)可視化如何實(shí)現(xiàn)

    一、什么是API? API,即Application Programming Interface,翻譯過(guò)來(lái)就是“應(yīng)用程序編程接口”。它是用于不同軟件和應(yīng)用之間進(jìn)行交互的一種技術(shù)規(guī)范。通過(guò)API,我們可以讓兩個(gè)應(yīng)用程序之間進(jìn)行數(shù)據(jù)和功能的交換和共享,從而實(shí)現(xiàn)更加復(fù)雜的數(shù)據(jù)分析和可視化效果。 二、電商A

    2024年02月09日
    瀏覽(38)
  • 如何通過(guò)TortoiseGit可視化工具查看Git管理的版本樹(shù)和信息(工作樹(shù)變更)內(nèi)容

    如何通過(guò)TortoiseGit可視化工具查看Git管理的版本樹(shù)和信息(工作樹(shù)變更)內(nèi)容

    黑色直線:master分支和基于master分支拉取基礎(chǔ)分支都在這條線上,是一條直線。 其他線條:新開(kāi)分支一定會(huì)增加一條線,但不一定每一條線分別代表一個(gè)分支。 注:如果一直是一個(gè)人,在同一個(gè)本地分支改的話,會(huì)一直是這條黑線。 即: 新的分支commit的差異,會(huì)產(chǎn)生新的支

    2024年02月04日
    瀏覽(189)
  • MongoDB 數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)入 - 關(guān)于如何使用 csv 導(dǎo)入數(shù)據(jù)的命令方法、圖形界面可視化導(dǎo)入方法

    MongoDB 數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)入 - 關(guān)于如何使用 csv 導(dǎo)入數(shù)據(jù)的命令方法、圖形界面可視化導(dǎo)入方法

    興趣使然,突發(fā)奇想,想到了就寫(xiě),就當(dāng)打發(fā)時(shí)間了。 csv文件路徑問(wèn)題,絕對(duì)路徑和相對(duì)路徑都可以 type 沒(méi)有=號(hào),也是可以的,空格自動(dòng)識(shí)別 將 測(cè)試表.csv 文件導(dǎo)入到 mongodatabase 庫(kù), mycollection 集合中,導(dǎo)入時(shí)必須指定列名稱(chēng) (如果 csv 文件第一行是列名稱(chēng),也會(huì)被當(dāng)成數(shù)據(jù)

    2023年04月22日
    瀏覽(64)
  • 如何在移動(dòng)端數(shù)據(jù)可視化大屏實(shí)現(xiàn)分析?

    如何在移動(dòng)端數(shù)據(jù)可視化大屏實(shí)現(xiàn)分析?

    本文由葡萄城技術(shù)團(tuán)隊(duì)于博客園原創(chuàng)并首發(fā) 轉(zhuǎn)載請(qǐng)注明出處:葡萄城官網(wǎng),葡萄城為開(kāi)發(fā)者提供專(zhuān)業(yè)的開(kāi)發(fā)工具、解決方案和服務(wù),賦能開(kāi)發(fā)者。 項(xiàng)目想做數(shù)據(jù)可視化,想同時(shí)在PC端、手機(jī)端查看數(shù)據(jù)怎么辦?業(yè)務(wù)主要關(guān)心的數(shù)據(jù)包括:銷(xiāo)售數(shù)據(jù)、業(yè)績(jī)達(dá)成、同比、環(huán)比,各

    2023年04月14日
    瀏覽(21)
  • 關(guān)于如何實(shí)現(xiàn)autodl服務(wù)器的可視化桌面

    關(guān)于如何實(shí)現(xiàn)autodl服務(wù)器的可視化桌面

    目錄 目錄 目錄 安裝VNC 在AutoDL主機(jī)中安裝桌面 參考連接VNC遠(yuǎn)程桌面配置教程 https://blog.csdn.net/AngelFK1990/article/details/130649525?spm=1001.2101.3001.6650.2utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-2-130649525-blog-78090079.235%5Ev38%5Epc_relevant_sort_base3depth_1-utm_source=distribu

    2024年01月15日
    瀏覽(89)
  • 如何實(shí)現(xiàn)數(shù)據(jù)可視化分析?有這個(gè)解決方案就夠了

    如何實(shí)現(xiàn)數(shù)據(jù)可視化分析?有這個(gè)解決方案就夠了

    在這個(gè)數(shù)據(jù)呈爆炸式增長(zhǎng)的時(shí)代,每天都有海量數(shù)據(jù)在產(chǎn)生。如何通過(guò)簡(jiǎn)單的方式實(shí)現(xiàn)業(yè)務(wù)上的分析、計(jì)算、交互,并最終呈現(xiàn)出可視化的分析結(jié)果,幫助業(yè)務(wù)人員更好地理解數(shù)據(jù)的價(jià)值,將數(shù)據(jù)變現(xiàn),是當(dāng)前眾多企業(yè)都需要面對(duì)的問(wèn)題。 想要直觀準(zhǔn)確地從不同領(lǐng)域中的數(shù)據(jù)

    2024年02月06日
    瀏覽(22)
  • 如何將GIS地圖和可視化結(jié)合使用實(shí)現(xiàn)更好的數(shù)據(jù)呈現(xiàn)

    如何將GIS地圖和可視化結(jié)合使用實(shí)現(xiàn)更好的數(shù)據(jù)呈現(xiàn)

    GIS(地理信息系統(tǒng)) 和 可視化(visualization) 是兩個(gè)緊密相關(guān)的領(lǐng)域。GIS是一種用于管理、分析和展示地理空間數(shù)據(jù)的技術(shù),而可視化則是一種用圖形、圖表、動(dòng)畫(huà)等形式展示數(shù)據(jù)的方式。 GIS地圖 則是指基于地理信息系統(tǒng)技術(shù),將各種地理數(shù)據(jù)在一個(gè)地圖上進(jìn)行展示的地圖

    2023年04月22日
    瀏覽(87)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包