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

IDEA的Shelve與Git的Stash之間的區(qū)別

這篇具有很好參考價值的文章主要介紹了IDEA的Shelve與Git的Stash之間的區(qū)別。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

在日常開發(fā)中,會遇到需要在不同的開發(fā)任務(wù)之間切換的情況,此時,如果手中有尚未寫完的代碼,就需要使用某種方法先保存起來,之后再繼續(xù)處理沒寫完的代碼。

有兩種方法可以解決上述問題:一個是利用IDEA提供的Shelve功能,另一個是利用Git提供的Stash功能。

如果你也是一個使用IDEA作為集成開發(fā)環(huán)境的話,而且使用的版本控制管理工具也是Git的話,那這篇文章也許對你在日常工作中遇到上面的情況時有所幫助。

本文中介紹了IDEA的Shelve與Git的Stash這兩個功能的特點、如何使用、需要注意的地方。

IDEA的Shelve功能

Shelve是一個什么樣的功能?

Shelve是IDEA本身提供的一個功能,用來暫時保存尚未commit的修改。

注意,這里為什么要特別指出“尚未commit”的修改?

因為IDEA提供的Shelve這個功能只能作用于被版本控制管理的文件。

也就是說,如果你的文件,沒有被類似Git、Subversion等版本控制軟件管理的話,是無法使用Shelve這個功能的。

Shelve功能有哪些優(yōu)點?

1.既可以暫存單個文件,也可以暫存整個ChangeList中所有文件。

2.可以根據(jù)需要多次應(yīng)用被Shelve的修改。

如何使用Shelve功能?

  1. Local Changes中找到尚未commit的文件。

  2. 右鍵點擊想要Shelve的文件或整個ChangeList。

  3. 選擇Shelve Changes...

  4. 會彈出對話框,填寫Commit Message一欄(它會作為此次創(chuàng)建的shelf的名字)。

  5. 然后點擊Shelve Changes按鈕。

  6. 之后,會自動轉(zhuǎn)到Shelf一欄(出現(xiàn)在Local Changes右邊),里面放著所有被Shelve的文件。

因IDEA在不斷迭代更新,有些地方可能進行了優(yōu)化導致位置可能發(fā)生變化。

所以以上給出的是一個比較通用的方法:直接從Local Changes中找到需要Shelve的文件。

如何使用Unshelve功能?

既然文件的修改被Shelve起來了,肯定還是希望能在某一時刻能恢復(fù)回來繼續(xù)工作。

所以,也就有了對應(yīng)的Unshelve功能。

大致的步驟如下:

ShelfLocal Changes旁邊)頁面中,找到需要Unshelve的文件,右鍵單擊在上下文菜單中找到Unshelve...選項,單擊后在對話框中填寫相關(guān)信息,然后點擊對話框右下角Unshelve Changes即可。

有哪些需要注意的地方?

Unshelve時,如果當前Local Changes中某個文件已有的修改與Shelve中對應(yīng)文件的修改位置相同,則會產(chǎn)生沖突。

Git的Stash功能

Stash是一個什么樣的功能?

Stash是Git提供的一個功能,會將所有尚未commit的修改進行儲存。

注意,Stash操作是會將所有尚未commit的文件都一并保存的。

Stash有什么優(yōu)點?

  1. 可以將Stash的內(nèi)容應(yīng)用到一個已存在的分支或者以Stash為基礎(chǔ)創(chuàng)建一個新的分支。

  2. Stash的內(nèi)容可以根據(jù)需要多次應(yīng)用到所需的任何分支上。

如何使用Stash?

  1. Local Changes中找到尚未commit的文件。

  2. 右鍵點擊任意一個文件,出現(xiàn)上下文菜單,將光標移動到Git上。

  3. 右邊出現(xiàn)Git的相關(guān)選項,點擊Stash Changes...選項。

  4. 會彈出對話框,在Message框中填寫關(guān)于此次stash內(nèi)容的說明。

  5. 最后,點擊Create Stash按鈕即可。

這里也是選擇了比較通用的方式找到需要被stash的文件,而不需要關(guān)心IDEA主菜單上關(guān)于Git的變化。

如何使用Unstash功能。

Shelve功能有個對應(yīng)的Unshelve功能一樣,Stash功能也有一個對應(yīng)的叫UnStash的功能。

UnStash并沒有一個像存儲著Shelve文件的Shelf頁面,而是需要在菜單欄的Git中找。

使用的步驟大致如下:

在IDEA主菜單上,找到Git | Uncommitted Changes | Unstash Changes選項;

出現(xiàn)對話框,選擇想要應(yīng)用stash的分支;

再從stash列表中選擇需要應(yīng)用的stash;

最后點擊Apply Stash按鈕即可。

有哪些需要注意的地方?

  1. 在一系列的commit之后再恢復(fù)stash時,可能會導致沖突,需要手動解決。

  2. 恢復(fù)stash時,當前的工作區(qū)不能有尚未commit的修改。

總結(jié)一下兩者的區(qū)別

  1. Stash是Git提供的功能,而shevle是IDEA本身提供的功能。
  2. Stash只能針對當前整個分支所有未commit的文件進行操作;而Shelve更靈活,可以對單個或多個未commit的文件進行操作;
  3. 要恢復(fù)stash的文件時(unstash操作),如果本地有尚未commit的修改,那么此次unstash操作會失敗。IDEA右下角會彈出提醒:你的本地修改將會被merge覆蓋。請commitstashrevert它們之后再繼續(xù)。而恢復(fù)shelve的文件時(unshelve操作),無論本地有沒有被修改的文件都不會影響。解決可能產(chǎn)生的沖突即可。
  4. Stash的文件是放在.git文件中;Shelve的文件是放在.idea/shelf文件中。這意味著Stash的文件比Shelve的文件有更強的可移植性。

最后

本篇文章的目的是為了對IDEA的Shelve和Git的Stash兩個功能進行一個大致的比較,并講解最基礎(chǔ)的使用方法。

因此,本篇文章并沒有講解在使用ShelveUnshelve、StashUnstash時彈出的對話框中更多的具體選項該如何選擇使用,如果希望更好的掌握這兩個功能,可進一步查閱資料了解。


本文參考鏈接:

  • https://www.jetbrains.com/help/idea/2021.3/shelving-and-unshelving-changes.html

  • https://www.jetbrains.com/help/idea/2021.3/work-on-several-features-simultaneously.html

  • https://stackoverflow.com/questions/28008139/git-stash-vs-shelve-in-intellij-idea文章來源地址http://www.zghlxwxcb.cn/news/detail-448864.html

到了這里,關(guān)于IDEA的Shelve與Git的Stash之間的區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Git:Rebase和Merge之間的區(qū)別

    Git:Rebase和Merge之間的區(qū)別

    merge的原理是找到這兩個分支的祖先commit,在兩個分支最新的commit進行三方對比合并 例如下圖,共同的祖先commit2,master最新commit6,develop最新commit5, merge會基于2,5,6 這三個commit進行對比: commit6和commit2對比,如果文件的哈希值不一樣,同時commit5和commit2對比,發(fā)現(xiàn)一樣,說

    2024年02月11日
    瀏覽(20)
  • Idea使用git拉取代碼 : (git merge、git rebase)區(qū)別

    Idea使用git拉取代碼 : (git merge、git rebase)區(qū)別

    我們使用pull拉取遠程倉庫的代碼時,通常有兩個選項,一個是 merge ,一個是 rebase ,這兩個之間有什么區(qū)別呢? 這兩個選項都是將遠程倉庫的代碼合并到本地倉庫的代碼,但是在使用上是不同的。 1、使用merge合并遠程倉庫的代碼是按照代碼的提交時間進行展示的,也就是說使用m

    2024年02月16日
    瀏覽(24)
  • git stash 用法小結(jié)

    git stash 用法小結(jié)

    有一天你正興高采烈地coding…,突然現(xiàn)網(wǎng)出現(xiàn)一個bug讓你緊急修復(fù),但是你本地已經(jīng)有了修改,你又不想提交,也總不能全部回退吧,所以你正發(fā)愁怎么辦的時候恰好看到了這篇文章,它將幫你完美解決此場景的困擾,那么今天的主角就是 git stash ,它會本地保存當前工作目

    2024年02月08日
    瀏覽(31)
  • git stash怎么恢復(fù)

    git stash怎么恢復(fù)

    首先,使用git status指令查看當前文件狀態(tài)。 然后,使用git stash指令將本次修改部分緩存到本地。 再次使用git status指令,查看當前文件狀態(tài),系統(tǒng)提示沒有需要提交的內(nèi)容。 使用git stash list指令,查看本地當前的緩存列表。 使用指令“git stash apply stash@{id}”,恢復(fù)指定id的

    2024年01月22日
    瀏覽(22)
  • Git Stash詳細講解

    Git Stash詳細講解

    ???????? git stash 這個命令可以將當前的工作狀態(tài)保存到git棧,在需要的時候再恢復(fù)。 ? ? ? ? 當在一個分支的開發(fā)工作未完成,卻又要切換到另外一個分支進行開發(fā)的時候,可以先將自己寫好的代碼,儲存到 git 棧,進行另外一個分支的代碼開發(fā)。這時候 git stash 命令就

    2024年02月02日
    瀏覽(17)
  • git stash使用

    git stash使用

    (一) 假設(shè)你當前正在分支A上開發(fā)一個功能,并修改了一些代碼,運行 git stash save \\\"修改描述XXX\\\" 來保存當前工作目錄的更改到stash。 然后你可以切換到其它分支(比如分支B)進行其它任務(wù)。 當你回到分支A時,想恢復(fù)原來的開發(fā)狀態(tài),可以運行 git stash list 查看所有保存的sta

    2024年02月13日
    瀏覽(18)
  • Git stash的用法

    當你代碼寫到一半而需要切換到其他分支時,此時需要提交本地代碼才可以進行切換,然而此時會產(chǎn)生一個非常冗余的commit,所以我們可以通過使用 git stash 將代碼推入git棧中,這時候你的工作區(qū)間和上一次提交的內(nèi)容是完全一樣的,所以你可以放心的切換分支,等待忙碌切

    2024年02月04日
    瀏覽(14)
  • Git 儲藏(stash)詳解

    此文在閱讀前需要有一定的git命令基礎(chǔ),若基礎(chǔ)尚未掌握,建議先閱讀這篇文章Git命令播報詳版 在平常的工作中,當我們在單獨拉取的功能分支中進行開發(fā)時,遇到線上出現(xiàn)bug需要進行緊急修復(fù),我們需要切換到主分支,進行代碼的修復(fù)。但是我們直接在本地切換到主分支,

    2024年02月08日
    瀏覽(22)
  • git stash詳解

    應(yīng)用場景: 1 當正在dev分支上開發(fā)某個項目,這時項目中出現(xiàn)一個bug,需要緊急修復(fù),但是正在開發(fā)的內(nèi)容只是完成一半,還不想提交,這時可以用git stash命令將修改的內(nèi)容保存至堆棧區(qū),然后順利切換到hotfix分支進行bug修復(fù),修復(fù)完成后,再次切回到dev分支,從堆棧中恢復(fù)

    2024年02月09日
    瀏覽(20)
  • Git Stash 貯藏命令

    Git Stash 貯藏命令

    在使用Git過程中,有時當你在項目的其它分支正在進行開發(fā),并且該分支還尚未開發(fā)完成進行提交,這個時候需要你切換分支進行工作,這個時候做到一半的工作既不想全部丟掉又不想到處都是問題的就commit,十分沖突。解決問題的方法就是 git stash 命令 貯藏(stash)會處理

    2024年02月07日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包