国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

詳解IDEA Git Reset 選項(xiàng)說(shuō)明

瀏覽:100日期:2024-08-21 18:25:54

1 . 目標(biāo)

演示下圖的git reset 各選項(xiàng)的效果。

詳解IDEA Git Reset 選項(xiàng)說(shuō)明

2. Git Reset操作說(shuō)明

圖中說(shuō)明:

his will reset the current branch head to the selected commit, and update the working tree and the index accoding to the seleted mode.

意思是:該操作會(huì)重置當(dāng)前分支指針到所選擇的提交點(diǎn),并且更新記錄點(diǎn)和根據(jù)所選選項(xiàng)更新index狀態(tài)。

這句話意味著該項(xiàng)操作會(huì)影響兩件事:提交的記錄 和 當(dāng)前工作區(qū)中的文件狀態(tài)。

3. 環(huán)境說(shuō)明

為了簡(jiǎn)化演示,本次使用master分支。master分支初始狀態(tài)為下圖所示:

詳解IDEA Git Reset 選項(xiàng)說(shuō)明

本篇各個(gè)選項(xiàng)的效果演示均在“回退到版本1”這個(gè)需求下進(jìn)行。

詳解IDEA Git Reset 選項(xiàng)說(shuō)明

彈出選項(xiàng)框

詳解IDEA Git Reset 選項(xiàng)說(shuō)明

4. 各選項(xiàng)效果說(shuō)明

4.1 Soft

Soft選項(xiàng):在選擇的回退點(diǎn)之后的所有更改將會(huì)保留并被git追蹤下來(lái)。這就意味著可以在 Version Control 的 Local Changes 面板中查看到它們。

創(chuàng)建新文件demo.txt 并index。使得demo.txt文件能夠被git追蹤版本。

詳解IDEA Git Reset 選項(xiàng)說(shuō)明

詳解IDEA Git Reset 選項(xiàng)說(shuō)明

此時(shí)我們是在版本2的工作區(qū)基礎(chǔ)上進(jìn)行創(chuàng)建的demo.txt,此時(shí)我們想要回退到版本1,并使用Soft模式回退。回退的結(jié)果如下:

詳解IDEA Git Reset 選項(xiàng)說(shuō)明

4.2 Mixed

Mixed模式:在選擇的回退點(diǎn)之后的所有更改將會(huì)保留但不會(huì)被git追蹤下來(lái)。

創(chuàng)建新文件demo.txt 并index。使得demo.txt文件能夠被git追蹤版本。

詳解IDEA Git Reset 選項(xiàng)說(shuō)明

詳解IDEA Git Reset 選項(xiàng)說(shuō)明

此時(shí)我們是在版本2的工作區(qū)基礎(chǔ)上進(jìn)行創(chuàng)建的demo.txt,此時(shí)我們想要回退到版本1,并使用Mixed模式回退。效果如下:

詳解IDEA Git Reset 選項(xiàng)說(shuō)明

4.3 Hard

Hard模式:在選擇的回退點(diǎn)之后的所有更改都會(huì)被丟棄。(包括被追蹤的和已提交的文件)

在版本2基礎(chǔ)上新增文字,形成未提交的版本3.

詳解IDEA Git Reset 選項(xiàng)說(shuō)明

回退到版本1,以Hard模式。

詳解IDEA Git Reset 選項(xiàng)說(shuō)明

4.4 Keep

Keep模式:在選擇的回退點(diǎn)之后的所有已提交的更改會(huì)被丟棄。但本地修改的會(huì)被完整地保存下來(lái)。

在版本2基礎(chǔ)上新增文字,形成未提交的版本3.

詳解IDEA Git Reset 選項(xiàng)說(shuō)明

選擇了Keep模式進(jìn)行回退到版本1的效果如下:

詳解IDEA Git Reset 選項(xiàng)說(shuō)明

說(shuō)明:上圖出現(xiàn)了Git Reset Problem對(duì)話框是因?yàn)镵eep模式會(huì)保留工作區(qū)修改的內(nèi)容,所以在回退到指定的提交點(diǎn)后,Idea接下來(lái)要處理就是這些在工作區(qū)修改的內(nèi)容,所以詢問用戶是否有必要保留這些內(nèi)容。如果沒必要保留,就完全可以Hard reset;如果有必要,通常情況下下一步就會(huì)需要解決沖突問題。

Hard Reset效果如 4.3 所示,點(diǎn)擊Smart Reset后效果如下:

詳解IDEA Git Reset 選項(xiàng)說(shuō)明

沒錯(cuò),這里的stash 和 unstash 都是自動(dòng)完成的。

說(shuō)明:用戶也可以自己手動(dòng) stash 和 unstash操作,類似壓棧和彈棧操作。這一機(jī)制在“暫時(shí)不想提交現(xiàn)已修改的,但現(xiàn)在必須馬上在未修改之前的版本上著手開發(fā)另一套事情”的尷尬場(chǎng)景下,可以幫助我們有一個(gè)解決方法。這一概念像CPU被中斷后如何保存中斷現(xiàn)場(chǎng),在處理完其他任務(wù)后,能夠恢復(fù)當(dāng)時(shí)現(xiàn)場(chǎng)。這里也是:當(dāng)前開發(fā)版本被中斷后如何保存當(dāng)前未提交內(nèi)容,在開發(fā)完成其他事情后,再恢復(fù)到這些內(nèi)容。

5. 總結(jié)

Soft:在選定提交點(diǎn)之后所做的所有更改都將被暫存(這意味著可以到 Version Control 窗口(Alt+9)的Local Changes 選項(xiàng)卡,以便您可以查看它們,并在必要時(shí)稍后提交)。

Mixed:在所選提交之后所做的更改將被保留,但不會(huì)暫存以進(jìn)行提交。

Hard:在所選提交之后所做的所有更改都將被丟棄(已暫存的和已提交的)。

Keep:在選定的提交之后所做的提交更改將被丟棄,但本地更改將保持不變。

如果需要使用IDEA 進(jìn)行版本回退可以訪問 IDEA git分支回退指定的歷史版本

到此這篇關(guān)于詳解IDEA Git Reset 選項(xiàng)說(shuō)明的文章就介紹到這了,更多相關(guān)IDEA Git Reset 選項(xiàng)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: IDEA
相關(guān)文章:
主站蜘蛛池模板: 河池市| 肇庆市| 阆中市| 平利县| 大庆市| 迁西县| 济南市| 临海市| 红河县| 民和| 家居| 赤城县| 尚志市| 郓城县| 杭州市| 讷河市| 哈密市| 鄂尔多斯市| 怀宁县| 那曲县| 环江| 泰来县| 桃江县| 肥乡县| 北碚区| 商城县| 威宁| 海林市| 信丰县| 万山特区| 黄浦区| 荆门市| 台前县| 城固县| 桐城市| 娱乐| 泸西县| 沙田区| 湖北省| 二手房| 垫江县|