中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

企業(yè)門戶網(wǎng)站 意義免費(fèi)推廣網(wǎng)站大全

企業(yè)門戶網(wǎng)站 意義,免費(fèi)推廣網(wǎng)站大全,奉賢網(wǎng)站建設(shè)上海站霸,合肥做雙語外貿(mào)網(wǎng)站目錄 前言一、版本回退前置知識(shí)二、Reset方案:整體改寫歷史1、IDEA圖形化操作(推薦)1.1、查看提交歷史1.2、選擇目標(biāo)版本1.3、選擇回退模式1.3.1、Soft(推薦)1.3.2、Mixed1.3.3、Hard(慎用)1.3.…

目錄

  • 前言
  • 一、版本回退前置知識(shí)
  • 二、Reset方案:整體改寫歷史
    • 1、IDEA圖形化操作(推薦)
      • 1.1、查看提交歷史
      • 1.2、選擇目標(biāo)版本
      • 1.3、選擇回退模式
        • 1.3.1、Soft(推薦)
        • 1.3.2、Mixed
        • 1.3.3、Hard(慎用)
        • 1.3.4、Keep
      • 1.4、強(qiáng)制推送遠(yuǎn)程倉庫
    • 2、命令行操作
      • 2.1、查看提交記錄
      • 2.2、執(zhí)行回退
      • 2.3、強(qiáng)制同步遠(yuǎn)程
  • 三、Revert方案:部分撤銷提交
    • 1、IDEA圖形化操作
      • 1.1、撤銷目標(biāo)提交
      • 1.2、提交新版本
    • 2、命令行操作
  • 總結(jié)

前言

??作為開發(fā)者,代碼版本回退是日常高頻操作。IntelliJ IDEA集成了強(qiáng)大的Git工具鏈,但面對(duì)resetrevert兩種核心回退方案,許多開發(fā)者仍存在選擇困惑。本文將解析Reset與Revert兩種方案的操作細(xì)節(jié)及避坑指南。

一、版本回退前置知識(shí)

在操作前需明確三個(gè)核心概念:工作區(qū) vs 暫存區(qū) vs 倉庫

區(qū)域本質(zhì)操作指令場(chǎng)景舉例
工作區(qū)你正在編輯的代碼文件直接修改文件在 UserService.java 中新增代碼
暫存區(qū)已標(biāo)記待提交的修改git add將 UserService.java 添加到提交隊(duì)列
倉庫已永久保存的歷史版本git commit生成一個(gè)版本號(hào)為 a1b2c3d 的提交

二、Reset方案:整體改寫歷史

??通過移動(dòng)HEAD指針直接回退到目標(biāo)版本,會(huì)刪除后續(xù)提交記錄,適用于本地或需強(qiáng)制同步遠(yuǎn)程的場(chǎng)景。

1、IDEA圖形化操作(推薦)

1.1、查看提交歷史

??右鍵項(xiàng)目 → Git → Show History,或在Log標(biāo)簽頁查看所有提交記錄。

在這里插入圖片描述

1.2、選擇目標(biāo)版本

??右鍵要回退的提交 → Reset Current Branch to Here(將當(dāng)前分支重置到此處)。

在這里插入圖片描述

1.3、選擇回退模式

??單擊如上將當(dāng)前分支重置到此處就會(huì)彈窗如下。

在這里插入圖片描述

解析每個(gè)選項(xiàng)前先看下當(dāng)前項(xiàng)目在所有狀態(tài)的文件

在這里插入圖片描述

好,四種狀態(tài)文件已經(jīng)準(zhǔn)備完成,開始展示

1.3.1、Soft(推薦)

??選擇Soft回退后,僅移動(dòng)HEAD指針,所有文件內(nèi)容沒變化。Test1變?yōu)樾薷臓顟B(tài),后續(xù)push遠(yuǎn)程版本回退后,可以選擇第一次和第二次的修改內(nèi)容是否再次提交到遠(yuǎn)程倉庫。

在這里插入圖片描述

1.3.2、Mixed

??選擇Mixed回退后,所有文件內(nèi)容沒變化(與Soft一樣),只是將暫存區(qū)Test3移除到工作區(qū),這樣看來Soft和Mixed的區(qū)別就是清空暫存區(qū)。

在這里插入圖片描述

1.3.3、Hard(慎用)

??選擇Hard回退后,文件內(nèi)容被還原為第一次提交的狀態(tài)(Test1第二三提交內(nèi)容和Test3沒提交的內(nèi)容丟失了),然后暫存區(qū)的整個(gè)文件Test3丟失(沒有像Soft和Mixed轉(zhuǎn)移到工作區(qū)),總得來說就是所有本地修改都會(huì)丟失(當(dāng)然不包括工作區(qū)Test4,因?yàn)檫€沒被git管理)。

??此時(shí)還沒有push到倉庫(后面講),可以更新代碼將Test1第二三提交的內(nèi)容找回,但是Test2添加的a和Test3的內(nèi)容則找不回了(因?yàn)楫?dāng)時(shí)這些內(nèi)容都在暫存區(qū),然而Hard已經(jīng)清空暫存區(qū),丟棄了所有修改

在這里插入圖片描述

1.3.4、Keep

??選擇Keep回退后,回退版本的文件內(nèi)容被還原為第一次提交的狀態(tài)(Test1第二三提交內(nèi)容沒了),其他狀態(tài)的文件內(nèi)容沒有變化(也就是本地修改內(nèi)容沒丟失),但是暫存區(qū)文件被移除到工作區(qū)

在這里插入圖片描述

??這種方式如果回退版本的時(shí)候Test1有修改內(nèi)容,那么回退的時(shí)候會(huì)彈窗讓你選擇Test1修改沒提交的內(nèi)容如何處理,類似于解決沖突。(麻煩不推薦)

在這里插入圖片描述

總結(jié)

  • Soft 回退:當(dāng)你只想撤回 commit,但不影響文件內(nèi)容,適用于你希望修改提交內(nèi)容或者重新提交時(shí)使用(推薦

  • Mixed 回退:當(dāng)你想撤銷提交并清理暫存區(qū),但保留文件修改,適用于需要重新整理提交時(shí)使用(感覺沒用,想保留文件修改可以使用Soft)

  • Hard 回退:當(dāng)你完全不需要當(dāng)前工作和暫存區(qū)的修改,并且想徹底恢復(fù)到某個(gè)提交時(shí)使用,慎用,因?yàn)闊o法恢復(fù)丟失的內(nèi)容(保證本地所有修改內(nèi)容都沒用可以使用

  • Keep 回退:當(dāng)你希望恢復(fù)到某個(gè)提交的版本,但又不丟失本地修改時(shí)使用(恢復(fù)版本的文件的本地內(nèi)容需要手動(dòng)選擇要還是丟,麻煩不推薦)

1.4、強(qiáng)制推送遠(yuǎn)程倉庫

  • 回退后本地倉庫版本低于遠(yuǎn)程,需執(zhí)行強(qiáng)制推送
  • 在強(qiáng)制推送遠(yuǎn)程倉庫前,都可以通過更新代碼恢復(fù)上面的版本回退

方式一(不推薦)

??git push --force 是強(qiáng)制推送命令,它會(huì)將本地分支的內(nèi)容強(qiáng)行推送到遠(yuǎn)程倉庫,覆蓋遠(yuǎn)程分支的歷史記錄。使用此命令時(shí),如果遠(yuǎn)程分支的提交歷史與本地分支不同,推送操作仍會(huì)進(jìn)行,并且不會(huì)進(jìn)行任何檢查,可能會(huì)丟失遠(yuǎn)程倉庫中的更改。因此,這個(gè)命令需要小心使用,尤其在多人協(xié)作的情況下,可能會(huì)覆蓋他人的更改。

git push --force
# 等同于 
git push -f

方式二(推薦)

??git push --force-with-lease--force 的更安全版本。它會(huì)先檢查遠(yuǎn)程分支是否被其他人更新,若有變動(dòng)則推送失敗并提示,避免覆蓋他人更改。該命令會(huì)自動(dòng)推送當(dāng)前分支到遠(yuǎn)程倉庫對(duì)應(yīng)的分支。

git push --force-with-lease   # 推薦,避免覆蓋他人提交

2、命令行操作

2.1、查看提交記錄

方式一

git log 

在這里插入圖片描述

方式二

git log --oneline   # 獲取目標(biāo)commit_id(前7位即可)

在這里插入圖片描述

方式三

idea中直接選擇歷史版本右擊選擇復(fù)制修訂號(hào)

在這里插入圖片描述

2.2、執(zhí)行回退

三種不同的回退模式,上面已經(jīng)詳細(xì)介紹了

# 徹底回退(刪除工作區(qū)+暫存區(qū)修改)
git reset --hard 62b47d9   # 回退到上一個(gè)提交(保留工作區(qū)修改)
git reset --soft HEAD\~1   # 回退到前2個(gè)版本(保留工作區(qū),暫存區(qū)重置)
git reset --mixed HEAD^^   

2.3、強(qiáng)制同步遠(yuǎn)程

這里與IDEA圖形化操作命令一樣

git push --force-with-lease   # 推薦,避免覆蓋他人提交git push -f origin master   # 強(qiáng)制覆蓋遠(yuǎn)程分支

三、Revert方案:部分撤銷提交

??生成新的提交記錄逆向操作目標(biāo)版本,保留完整歷史鏈,適合團(tuán)隊(duì)協(xié)作或需審計(jì)的場(chǎng)景。

1、IDEA圖形化操作

1.1、撤銷目標(biāo)提交

僅僅撤銷本次提交歷史的內(nèi)容,如果此版本后面又添加了b,此次撤銷就需要解決沖突了。

在這里插入圖片描述

1.2、提交新版本

自動(dòng)生成Revert "原提交信息"的新提交,需要推送至遠(yuǎn)程(相當(dāng)于我們手動(dòng)點(diǎn)進(jìn)這個(gè)文件,把添加a的代碼刪除,然后提交推送)

在這里插入圖片描述

2、命令行操作

# 撤銷單個(gè)提交
git revert 62b47d9  
# 推送當(dāng)前分支到遠(yuǎn)程倉庫
git push origin 分支

總結(jié)

??Git版本回退有兩種主要方案:Reset通過移動(dòng)HEAD指針直接回退,適用于本地或強(qiáng)制同步遠(yuǎn)程,Revert通過生成新的提交逆向撤銷,適合團(tuán)隊(duì)協(xié)作并保留歷史記錄;根據(jù)需求選擇合適方式并謹(jǐn)慎操作。

http://www.risenshineclean.com/news/54550.html

相關(guān)文章:

  • 具有營銷價(jià)值好的網(wǎng)站share群組鏈接分享
  • 鄭州商城網(wǎng)站建設(shè)多少錢一站式網(wǎng)站建設(shè)公司
  • 有沒有專業(yè)做二維碼連接網(wǎng)站在口碑營銷案例簡短
  • 學(xué)php做網(wǎng)站品牌營銷包括哪些方面
  • 網(wǎng)站建設(shè)與網(wǎng)頁設(shè)計(jì)的論文軟文范例大全800
  • 網(wǎng)站開發(fā)算什么費(fèi)用知乎關(guān)鍵詞排名工具
  • 做外商備案的網(wǎng)站百度官方app免費(fèi)下載
  • 免費(fèi)的軟件網(wǎng)站seo運(yùn)營學(xué)校
  • 電力建設(shè)期刊網(wǎng)站上海網(wǎng)站推廣廣告
  • 陜西網(wǎng)站制作商學(xué)電腦在哪里報(bào)名
  • 深圳做網(wǎng)站建設(shè)的公司競價(jià)交易規(guī)則
  • 網(wǎng)站建設(shè)的公司哪家是上市公司百度搜索推廣產(chǎn)品
  • 攝影網(wǎng)站建設(shè)內(nèi)容濟(jì)南網(wǎng)站優(yōu)化排名推廣
  • 東莞微網(wǎng)站制作網(wǎng)站seo思路
  • 做網(wǎng)站的優(yōu)勢(shì)有哪些國家域名注冊(cè)服務(wù)網(wǎng)
  • 網(wǎng)站 公眾號(hào) 建設(shè)方案谷歌廣告推廣怎么做
  • 做網(wǎng)站流程、上海抖音推廣
  • 怎么做付款下載網(wǎng)站上海網(wǎng)站建設(shè)方案
  • 蘇州電商網(wǎng)站建設(shè)站長工具服務(wù)器查詢
  • 百度怎么做自己的網(wǎng)站怎么在百度上發(fā)帖推廣
  • 投票網(wǎng)站開發(fā)的背景和意義免費(fèi)網(wǎng)站seo排名優(yōu)化
  • 用淘寶域名做網(wǎng)站什么效果百度口碑網(wǎng)
  • 北京工商注冊(cè)代理記賬最新黑帽seo培訓(xùn)
  • 公司網(wǎng)站在國外打開很慢使用cdn好還是國外租用服務(wù)器好互聯(lián)網(wǎng)營銷推廣公司
  • 電商網(wǎng)站的建設(shè)與維護(hù)域名查詢網(wǎng)址
  • 最新百度快速收錄技術(shù)seo軟件定制
  • 淘寶上做網(wǎng)站的信得過嗎手機(jī)系統(tǒng)優(yōu)化軟件
  • 國外網(wǎng)站推廣百度查詢
  • 如何制作網(wǎng)站的app海會(huì)網(wǎng)絡(luò)做的網(wǎng)站怎么做優(yōu)化
  • 免費(fèi)網(wǎng)頁設(shè)計(jì)作業(yè)文件seo屬于什么職業(yè)部門