最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IDEA git版本回滾使用解讀

 更新時(shí)間:2025年10月30日 17:32:44   作者:_BugMan  
這篇文章主要介紹了Git的分區(qū)和回滾操作,包括工作區(qū)、暫存區(qū)和版本庫(kù)的概念,以及如何在不同狀態(tài)下進(jìn)行回滾操作,如未commit、commit未push、已commit但未push以及已commit并push的情況

1.git分區(qū)

git的版本回滾其實(shí)就是回滾不同的分區(qū),所以在聊git回滾之前我們有必要簡(jiǎn)單了解一下git的分區(qū)。

git在本地有三大分區(qū):工作區(qū)、暫存區(qū)、版本庫(kù)。

  • 工作區(qū):正在編寫,還未add的部分,紅色。
  • 暫存區(qū):add后的代碼,綠色。
  • 版本庫(kù):commit后的代碼,灰色。

在IDEA中,在loacl changes中可以看到在工作區(qū)中和暫存區(qū)中的內(nèi)容:

版本庫(kù)中的內(nèi)容可以從log中看出來(lái),log中可以看到commit test這條提交的分支是本地的main分支,如果是已經(jīng)同步到遠(yuǎn)端的提交分支會(huì)顯示為origin/main:

2.未commit,進(jìn)行回滾

已經(jīng)add到暫存區(qū),但是未commit到本地版本庫(kù)的改動(dòng)有兩種:

  • 新增的文件
  • 修改的文件

新增的文件直接刪除即可,如果是修改的文件,使用roll back來(lái)回滾。在local change里面,選擇想要rollback的文件即可:

也可以直接右擊要rollback的文件然后rollback也行。

3.commit未push,進(jìn)行回滾

3.1.undo commit

commit到本地版本庫(kù)并且還未push的代碼,可以在log里右擊單次提交進(jìn)行undo commit:

需要注意的是undo commit只能從最后一次commit開(kāi)始回滾,undo commit后會(huì)要求選擇一個(gè)變更列表來(lái)存放回滾后的內(nèi)容,可以自己新建一個(gè),比如此處的commit test,也可以在下拉框里選擇一個(gè)已經(jīng)存在的,如果是自己新建的變更列表,勾選了set active選項(xiàng),后續(xù)的變動(dòng)也會(huì)存放到該變更列表中:

可以看到多了一個(gè)變更列表:

變更列表有什么用喃?其實(shí)變更列表可以把它視為一個(gè)命名空間,就是用來(lái)做資源隔離的,在進(jìn)行commit的時(shí)候需要下拉選擇不同的變更列表來(lái)進(jìn)行提交:

3.2.reset

有時(shí)候我們需要直接將本地的代碼回滾到版本庫(kù)的某一個(gè)版本,這時(shí)候可以使用reset來(lái)進(jìn)行回滾。reset有幾種模式:

  • soft,將版本回滾,工作區(qū)不動(dòng),暫存區(qū)=原來(lái)的+回滾后和回滾前的版本差異。
  • mixed,將版本回滾,回滾到了所有 git add 和 git commit 的命令執(zhí)行之前。暫存區(qū)變?yōu)榭?,變更全部到了工作區(qū)。
  • hard,將版本回滾,將所有工作區(qū)和暫存區(qū)的文件修改全部清空,是真正的覆蓋,不能找回了。
  • keep,將版本回滾,將所有commit的內(nèi)容丟棄掉,未commit的內(nèi)容保留。

在log上選擇要回滾到的具體版本:

reset時(shí)會(huì)要求選擇回滾的模式:

4.已commit&push,進(jìn)行回滾

對(duì)commit&push的內(nèi)容進(jìn)行回滾其實(shí)就是對(duì)遠(yuǎn)端倉(cāng)庫(kù)的代碼版本進(jìn)行回滾,在實(shí)際開(kāi)發(fā)中偶爾會(huì)將內(nèi)容誤推送到了遠(yuǎn)端倉(cāng)庫(kù)上去。

比如commit的message寫錯(cuò)了,查看log的時(shí)候才發(fā)現(xiàn),比如不小心將本地還沒(méi)有開(kāi)發(fā)完成的代碼推送到遠(yuǎn)端倉(cāng)庫(kù)了,由或者合并沖突或者分支的時(shí)候合并錯(cuò)了......等等這些情況都要我們對(duì)遠(yuǎn)端倉(cāng)庫(kù)的代碼進(jìn)行回滾。

回滾的方式其實(shí)很簡(jiǎn)單,就是將本地的代碼版本回滾到指定版本(至于是用revert還是reset,看自己),然后將本地的版本用git push -f強(qiáng)推到遠(yuǎn)端。

在IDEA中可以在terminal中執(zhí)行指令:

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Boot 2.X優(yōu)雅的解決跨域問(wèn)題

    Spring Boot 2.X優(yōu)雅的解決跨域問(wèn)題

    這篇文章主要給大家介紹了關(guān)于Spring Boot 2.X如何優(yōu)雅的解決跨域問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring Boot 2.X具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Springcould多模塊搭建Eureka服務(wù)器端口過(guò)程詳解

    Springcould多模塊搭建Eureka服務(wù)器端口過(guò)程詳解

    這篇文章主要介紹了Springcould多模塊搭建Eureka服務(wù)器端口過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • JavaMail實(shí)現(xiàn)郵件發(fā)送的方法

    JavaMail實(shí)現(xiàn)郵件發(fā)送的方法

    這篇文章主要介紹了JavaMail實(shí)現(xiàn)郵件發(fā)送的方法,實(shí)例分析了java實(shí)現(xiàn)郵件發(fā)送的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 妙解Java中的回調(diào)機(jī)制(CallBack)

    妙解Java中的回調(diào)機(jī)制(CallBack)

    本文以最簡(jiǎn)明扼要的例子將Java的回調(diào)機(jī)制介紹給大家,感興趣的朋友可以參考一下。
    2016-07-07
  • Java面向接口編程之簡(jiǎn)單工廠模式示例

    Java面向接口編程之簡(jiǎn)單工廠模式示例

    這篇文章主要介紹了Java面向接口編程之簡(jiǎn)單工廠模式,結(jié)合實(shí)例形式詳細(xì)分析了java面向接口編程簡(jiǎn)單工廠模式的具體定義與使用方法,需要的朋友可以參考下
    2019-09-09
  • Java foreach循環(huán)的使用方法詳解

    Java foreach循環(huán)的使用方法詳解

    Java SE5引入了一種更加簡(jiǎn)潔的for語(yǔ)法用于數(shù)組和容器,即foreach語(yǔ)法,表示不必創(chuàng)建int變量去對(duì)由訪問(wèn)項(xiàng)構(gòu)成的序列進(jìn)行計(jì)數(shù),foreach將自動(dòng)產(chǎn)生每一項(xiàng),這種循環(huán)方式在我們后來(lái)遍歷集合時(shí)很常用,所以也有必要來(lái)學(xué)習(xí)一下,需要的朋友可以參考下
    2023-05-05
  • 詳解Spring Aop實(shí)例之AspectJ注解配置

    詳解Spring Aop實(shí)例之AspectJ注解配置

    本篇文章主要介紹了詳解Spring Aop實(shí)例之AspectJ注解配置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • Java用自定義的類作為HashMap的key值實(shí)例

    Java用自定義的類作為HashMap的key值實(shí)例

    下面小編就為大家?guī)?lái)一篇Java用自定義的類作為HashMap的key值實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • 利用微信小程序+JAVA實(shí)現(xiàn)微信支付的全過(guò)程

    利用微信小程序+JAVA實(shí)現(xiàn)微信支付的全過(guò)程

    微信支付是一種在線支付解決方案,允許用戶通過(guò)微信內(nèi)的支付功能進(jìn)行付款,下面這篇文章主要給大家介紹了關(guān)于利用微信小程序+JAVA實(shí)現(xiàn)微信支付的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • springboot掃描自定義的servlet和filter代碼詳解

    springboot掃描自定義的servlet和filter代碼詳解

    本文是一篇根據(jù)作者工作經(jīng)歷總結(jié)出來(lái)的關(guān)于springboot掃描自定義的servlet和filter代碼詳解的文章,小編覺(jué)得非常不錯(cuò),這里給大家分享下,和朋友們一起學(xué)習(xí),進(jìn)步。
    2017-10-10

最新評(píng)論

沁水县| 左云县| 东丰县| 丁青县| 金华市| 海门市| 安丘市| 定远县| 含山县| 辽宁省| 任丘市| 祁阳县| 中牟县| 东港市| 铜陵市| 达日县| 石家庄市| 读书| 大埔县| 红安县| 普陀区| 措勤县| 荆州市| 阳谷县| 铜山县| 吉隆县| 广州市| 孙吴县| 桃园市| 得荣县| 大宁县| 肥东县| 丰都县| 那曲县| 陵川县| 万年县| 儋州市| 平湖市| 玉山县| 台州市| 泰宁县|