久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      帶你搞懂git回滾代碼(實例詳解)

      本篇文章給大家?guī)砹岁P(guān)于Git回滾代碼的相關(guān)知識,Git是一個開源的分布式版本控制系統(tǒng),可以有效、高速地處理從很小到非常大的項目版本管理,希望對大家有幫助。

      帶你搞懂git回滾代碼(實例詳解)

      在日常coding的過程中免不了分支之間的合并,回滾、提交、打tag等操作,如果你現(xiàn)在還不知道怎么使用git工具回滾代碼,或者總是擔心出錯沒有把握怕把代碼搞丟,這很危險畢竟代碼搞丟是很大的事情小則扣績效重則多扣點,但是 dont worry,你很幸運能看到這篇文章,當你看完以后就不會在有代碼丟失的情況,因為我會帶你手把手建分支模擬回滾的常見情況

      介紹

      Git(讀音為/g?t/)是一個開源的分布式版本控制系統(tǒng),可以有效、高速地處理從很小到非常大的項目版本管理。

      前言

      在日常的代碼回滾中常用的有兩種方式git revertgit reset來進行回滾,這兩種分別對應(yīng)的不同的情況我盡量簡單明了的介紹這兩個命令都能做些什么,接下來我會從個人倉庫新拉個分支從0開始,建兩個分支,分別是主分支master和開發(fā)分支develop來進行模擬

      reset介紹

      1、reset的作用是當你希望提交的commit從歷史記錄中完全消失就可以用

      2、比如你在master分支提交了A-->B-->C提交了三個記錄,這個時候如果C記錄有問題你想回滾到B就可以用git reset進行

      3、這個命令大概率的情況都是用在我們主分支的,因為我們上線的分支一般是master分支然后從develop進行功能開發(fā)

      4、開發(fā)完成之后將分支合并到master,如果在上線之前發(fā)現(xiàn)合并的分支用問題可以將develop合并過來的分支進行回滾

      5、說白了就是取消develop的本次合并

      6、但是有一種情況就是協(xié)作開發(fā)的時候大家都合并到master之后就不能用reset強行回滾commit因為這樣會把其他人的提交記錄給沖掉,這時候就可以用revert來進行操作我們在下面說

      制造一個分支模擬環(huán)境

      1.從你自己的git倉庫創(chuàng)建一個新項目之后拉到本地

      2.創(chuàng)建一個index.js隨便寫點東西,之后提交到倉庫

      帶你搞懂git回滾代碼(實例詳解)

      3.我們在終端使用git log查看commit可以看到目前只有一個剛才提交的commit

      帶你搞懂git回滾代碼(實例詳解)

      4.我們從master分支遷出一個develop分支git branch develop,并且切換到該分支 git checkout develop

      5.在develop分支新增一段代碼,這個時候develop的commit記錄就新增了一條B的記錄

      帶你搞懂git回滾代碼(實例詳解)

      6.在develop分支接著新增一段代碼

      帶你搞懂git回滾代碼(實例詳解)

      7.看下develop分支和master分支最新的commit記錄對比,可以看到dev分支領(lǐng)先master分支兩個commit

      帶你搞懂git回滾代碼(實例詳解)帶你搞懂git回滾代碼(實例詳解)

      注意這里有個問題當你進行分支合并的時候,有時候會發(fā)現(xiàn)雖然代碼不一樣但是在進行分支合并的時候就提示代碼沒有更新,就是因為當前的開發(fā)分支的commit記錄是落后于要合并的目標分支的,造成這種情況的原因就是reset濫用造成的,所以reset一定要慎用

      操作一下reset來感受一下

      1.我們將develop分支的代碼合并到master,切換到master分支 執(zhí)行git merge develop

      2.我們在master分支使用git log查看commit記錄找到B記錄,準備回滾這一條,回滾的時候不需要輸入全部的commid一般是前7位就夠用

      帶你搞懂git回滾代碼(實例詳解)

      3.重點來了我們使用git reset 69fde2c進行回滾,這個時候查看log記錄發(fā)現(xiàn)最后一條新增c記錄沒有了,這里還有個問題如果直接使用git push推送會有以下提示。

      帶你搞懂git回滾代碼(實例詳解)

      這是因為本地的記錄因為我們的回滾已經(jīng)落后于倉庫的代碼了,這個使用需要使用git push -f進行強制提交

      4.這個時候master分支就剩下A和B的commit記錄了,到這里就是一次完整的reset回滾記錄,之后我們還是可以繼續(xù)正常把develop分支合并到master的

      帶你搞懂git回滾代碼(實例詳解)

      revert介紹

      1、revert的原理是,在當前提交后面,新增一次提交,抵消掉上一次提交導致的所有變化。它不會改變過去的歷史,所以是首選方式,沒有任何丟失代碼的風險

      2、revert可以抵消上一個提交,那么如果想要抵消多個需要執(zhí)行 git revert 倒數(shù)第一個commit id 倒數(shù)第二個commit

      3、這個就常用于當你提交了一次commit之后發(fā)現(xiàn)提交的可能有問題就可以用到revert

      4、還有一種情景是已經(jīng)有很多人提交過代碼,但是想改之前的某一次commit記錄又不想影響后面的也可以使用revert,他會把你后面提交的記錄都放到工作區(qū)只是合并的時候需要注意一點

      我們來模擬一下環(huán)境

      1.切到develop分支現(xiàn)在該分支有三個commit記錄帶你搞懂git回滾代碼(實例詳解)

      2.我們使用rever進行回滾試一下git revert 16083ce,如果你也用的是vs code可以看到工作區(qū)的變化,并且在控制臺可以提交默認的commit

      帶你搞懂git回滾代碼(實例詳解)

      3.看一下log記錄,可以看到新增了一個記錄Revert 新增C,并且原來的新增C還是在的

      帶你搞懂git回滾代碼(實例詳解)

      commit記錄打tag

      1、在上線之前我們需要對當前的commit記錄打一個tag方便上線的代碼有問題可以及時回滾

      我們來介紹一下常用的幾個命令

      1.git tag列出所有的tag列表

      帶你搞懂git回滾代碼(實例詳解)

      2.創(chuàng)建一個tag,使用git tag [name],我們新增一個 git tag 測試4,在使用git tag 查看一下

      帶你搞懂git回滾代碼(實例詳解)

      3.查看tag對應(yīng)的commit信息,git show [tag名字],舉個例子git show 測試1,上線之后如果有問題我們就可以根據(jù) 下圖的commit id進行代碼回滾

      帶你搞懂git回滾代碼(實例詳解)

      結(jié)束

      git管理工具在我們?nèi)粘V锌梢哉f是天天都在用,所以對于常見的問題場景對應(yīng)的方法一定要牢牢地掌握免得遇到的時候顯得捉襟見肘

      推薦學習:《Git教程》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號