<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          不小心將測(cè)試代碼提交到生產(chǎn)環(huán)境? 6 種方法秒解決!

          共 2040字,需瀏覽 5分鐘

           ·

          2022-03-06 00:10


          來(lái)源:url.cn/5NLK2pC

          • 一、撤銷提交
          • 二、丟棄提交
          • 三、替換上一次提交
          • 四、撤銷工作區(qū)的文件修改
          • 五、從暫存區(qū)撤銷文件
          • 六、撤銷當(dāng)前分支的變化



          Git 版本管理時(shí),往往需要撤銷某些操作。

          本文介紹幾種最主要的情況,給出詳細(xì)的解釋。

          一、撤銷提交

          一種常見(jiàn)的場(chǎng)景是,提交代碼以后,你突然意識(shí)到這個(gè)提交有問(wèn)題,應(yīng)該撤銷掉,這時(shí)執(zhí)行下面的命令就可以了。

          $?git?revert?HEAD

          上面命令的原理是,在當(dāng)前提交后面,新增一次提交,抵消掉上一次提交導(dǎo)致的所有變化。它不會(huì)改變過(guò)去的歷史,所以是首選方式,沒(méi)有任何丟失代碼的風(fēng)險(xiǎn)。

          git revert 命令只能抵消上一個(gè)提交,如果想抵消多個(gè)提交,必須在命令行依次指定這些提交。比如,抵消前兩個(gè)提交,要像下面這樣寫(xiě)。

          $?git?revert?[倒數(shù)第一個(gè)提交]?[倒數(shù)第二個(gè)提交]

          git revert 命令還有兩個(gè)參數(shù)。

          • --no-edit:執(zhí)行時(shí)不打開(kāi)默認(rèn)編輯器,直接使用 Git 自動(dòng)生成的提交信息。
          • --no-commit:只抵消暫存區(qū)和工作區(qū)的文件變化,不產(chǎn)生新的提交。

          基于 Spring Boot + MyBatis Plus + Vue & Element 實(shí)現(xiàn)的后臺(tái)管理系統(tǒng) + 用戶小程序,支持 RBAC 動(dòng)態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能。

          項(xiàng)目地址:https://github.com/YunaiV/ruoyi-vue-pro

          二、丟棄提交

          如果希望以前的提交在歷史中徹底消失,而不是被抵消掉,可以使用 git reset 命令,丟棄掉某個(gè)提交之后的所有提交。

          $?git?reset?[last?good?SHA]

          git reset 的原理是,讓最新提交的指針回到以前某個(gè)時(shí)點(diǎn),該時(shí)點(diǎn)之后的提交都從歷史中消失。

          默認(rèn)情況下,git reset 不改變工作區(qū)的文件(但會(huì)改變暫存區(qū)),--hard 參數(shù)可以讓工作區(qū)里面的文件也回到以前的狀態(tài)。

          $?git?reset?--hard?[last?good?SHA]

          執(zhí)行 git reset 命令之后,如果想找回那些丟棄掉的提交,可以使用 git reflog 命令,具體做法參考這里。不過(guò),這種做法有時(shí)效性,時(shí)間長(zhǎng)了可能找不回來(lái)。

          基于微服務(wù)的思想,構(gòu)建在 B2C 電商場(chǎng)景下的項(xiàng)目實(shí)戰(zhàn)。核心技術(shù)棧,是 Spring Boot + Dubbo 。未來(lái),會(huì)重構(gòu)成 Spring Cloud Alibaba 。

          項(xiàng)目地址:https://github.com/YunaiV/onemall

          三、替換上一次提交

          提交以后,發(fā)現(xiàn)提交信息寫(xiě)錯(cuò)了,這時(shí)可以使用 git commit 命令的 --amend 參數(shù),可以修改上一次的提交信息。

          $?git?commit?--amend?-m?"Fixes?bug?#42"

          它的原理是產(chǎn)生一個(gè)新的提交對(duì)象,替換掉上一次提交產(chǎn)生的提交對(duì)象。

          這時(shí)如果暫存區(qū)有發(fā)生變化的文件,會(huì)一起提交到倉(cāng)庫(kù)。所以,--amend 不僅可以修改提交信息,還可以整個(gè)把上一次提交替換掉。

          四、撤銷工作區(qū)的文件修改

          如果工作區(qū)的某個(gè)文件被改亂了,但還沒(méi)有提交,可以用 git checkout 命令找回本次修改之前的文件。

          $?git?checkout?--?[filename]

          它的原理是先找暫存區(qū),如果該文件有暫存的版本,則恢復(fù)該版本,否則恢復(fù)上一次提交的版本。

          注意,工作區(qū)的文件變化一旦被撤銷,就無(wú)法找回了。

          五、從暫存區(qū)撤銷文件

          如果不小心把一個(gè)文件添加到暫存區(qū),可以用下面的命令撤銷。

          $?git?rm?--cached?[filename]

          上面的命令不影響已經(jīng)提交的內(nèi)容。

          六、撤銷當(dāng)前分支的變化

          你在當(dāng)前分支上做了幾次提交,突然發(fā)現(xiàn)放錯(cuò)了分支,這幾個(gè)提交本應(yīng)該放到另一個(gè)分支。

          #?新建一個(gè)?feature?分支,指向當(dāng)前最新的提交
          #?注意,這時(shí)依然停留在當(dāng)前分支
          $?git?branch?feature

          #?切換到這幾次提交之前的狀態(tài)
          $?git?reset?--hard?[當(dāng)前分支此前的最后一次提交]

          #?切換到?feature?分支
          $?git?checkout?feature

          上面的操作等于是撤銷當(dāng)前分支的變化,將這些變化放到一個(gè)新建的分支。

          推薦閱讀:

          不是你需要中臺(tái),而是一名合格的架構(gòu)師(附各大廠中臺(tái)建設(shè)PPT)

          企業(yè)IT技術(shù)架構(gòu)規(guī)劃方案

          論數(shù)字化轉(zhuǎn)型——轉(zhuǎn)什么,如何轉(zhuǎn)?

          華為干部與人才發(fā)展手冊(cè)(附PPT)

          企業(yè)10大管理流程圖,數(shù)字化轉(zhuǎn)型從業(yè)者必備!

          【中臺(tái)實(shí)踐】華為大數(shù)據(jù)中臺(tái)架構(gòu)分享.pdf

          華為的數(shù)字化轉(zhuǎn)型方法論

          華為如何實(shí)施數(shù)字化轉(zhuǎn)型(附PPT)

          超詳細(xì)280頁(yè)Docker實(shí)戰(zhàn)文檔!開(kāi)放下載

          華為大數(shù)據(jù)解決方案(PPT)

          瀏覽 26
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  艹逼免费看 | 色婷婷亚洲精品天天综 | 蜜芽成人在线视频 | 日韩A片在线免费观看 | 歐美操逼视频 |