欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

git分支或指定文件回退到指定版本命令詳解

 更新時間:2023年12月19日 10:52:53   作者:NettyBoy  
作為一名后端開發(fā),相信大家一定遇到過這樣的情景,代碼開發(fā)人員過多,并且開發(fā)分支過多,導致代碼版本管理困難,這樣就難免遇到一些代碼合并出錯,下面這篇文章主要給大家介紹了關于git分支或指定文件回退到指定版本命令的相關資料,需要的朋友可以參考下

一、分支回滾

1. 使用 git reset 命令

命令可以將當前分支的 HEAD 指針指向指定的提交,從而回退代碼到指定版本。
該命令有三種模式:–soft、–mixed 和 --hard。它們的區(qū)別在于回退代碼的程度不同。

  • --mixed (默認):將 HEAD 指針和暫存區(qū)都回退到指定提交,但不改變工作區(qū)的內(nèi)容。
  • --soft 僅將 HEAD 指針回退到指定提交,不改變暫存區(qū)和工作區(qū)的內(nèi)容。
  • --hard 將 HEAD 指針、暫存區(qū)和工作區(qū)都回退到指定提交,會丟失最新的代碼修改,慎用。
# 查看提交歷史
git log 

# 回退到指定提交(使用 --soft 模式)
git reset --soft <commit>

# 查看狀態(tài),確認回退操作是否正確
git status

# 提交回退后的代碼
git commit -m "回退到 <commit>"

# 將修改的代碼推送到遠程倉庫
git push origin <branch>

2.使用 git revert 命令 

git revert 命令可以將指定提交的修改反向應用到當前分支上,相當于撤銷指定提交的修改。
這種方式比使用 git reset 命令更加安全,因為它不會改變提交歷史,而是創(chuàng)建一個新的提交來撤銷之前的修改。

# 查看提交歷史
git log

# 撤銷指定提交,這樣會創(chuàng)建一個新的提交來撤銷之前的修改
git revert <commit>

# 提交撤銷操作
git commit -m "回退到版本 <commit>"

# 推送到遠程倉庫
git push origin <branch>

3.使用 git checkout 命令

git checkout 命令可以將當前分支的 HEAD 指針指向指定的提交,并將工作區(qū)的內(nèi)容替換成指定提交的內(nèi)容。這種方式不改變提交歷史,但會直接覆蓋工作區(qū)的內(nèi)容,慎用。

# 查看提交歷史
git log

# 切換到指定提交
git checkout <commit>

# 提交回退后的代碼
git commit -m "回退到版本 <commit>"

# 切回到原來的分支
git checkout <branch>

# 推送當前分支到遠程倉庫
git push origin <branch>
#<branch> 表示當前分支的名稱,例如 master。這個命令會將本地分支的提交推送到遠程倉庫,并將遠程分支更新為與本地分支一致。

 二、某個文件回滾

如果某次改動比較大,牽涉到的文件比較多。但是某個文件本來是沒問題的,結果畫蛇添足,改出問題來了,這時候直接回退版本會把所有代碼都回退掉,可能得不償失。這時候就需要指定回退單個文件到為修改之前的版本。

1.查看哪些文件發(fā)生修改

首先先獲取需要回退的文件路徑,比較簡單的方法就是,在該文件加個細微改動,比如一條無關注釋,然后通過git status  可以看到當前分支下修改的文件信息

git status 

查看文件內(nèi)容變化

git diff commitId1  commitId2
或
git diff commitid  本地文件

2.然后查看提交記錄(最近幾次提交)

git log -2

commit 3f290fa303e1aceea63e215a7ec68a5381eb8034 (HEAD -> main, origin/main)
Author: ning <ning@xxx.com>
Date:   Thu Sep 21 16:39:35 2023 +0800

    test buffer

commit 9bec77097394b5dcba39d79da7c6ea7ed73474f1
Author: ning <ning@xxx.com>
Date:   Thu Sep 21 16:36:26 2023 +0800

    test buffer

這里有兩個參數(shù)需要記錄下來

  •  需要回退的文件路徑:/source/code/test.java (git status 命令可以看到)
  •  需要回退到哪的 commit ID:3f290fa303e1aceea63e215a7ec68a5381eb8034

3.執(zhí)行提交命令

  • 執(zhí)行 git checkout commitID 回滾文件路徑
?  git:(test) git checkout 3f290fa303e1aceea63e215a7ec68a5381eb8034 /source/code/test.java 
Updated 1 path from 3f290fa30

此時代碼就會還原到登錄功能大改之前,如果不需要做啥修改,直接可以commit。

總結

到此這篇關于git分支或指定文件回退到指定版本命令的文章就介紹到這了,更多相關git分支回退指定版本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • git驗證線上的版本是否符合預期

    git驗證線上的版本是否符合預期

    當我們想知道部署項目的哪個版本有問題?當我們想知道線上運行的版本是否是我們預期的版本?當我們想把部署的版本與代碼進行關聯(lián)?如果是你用git來做版本管理,那就可以使用git-commit-id-maven-plugin插件來實現(xiàn)上述功能
    2022-07-07
  • HTTP協(xié)議入門_動力節(jié)點Java學院整理

    HTTP協(xié)議入門_動力節(jié)點Java學院整理

    這篇文章主要為大家詳細介紹了HTTP協(xié)議入門的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 關于頁面刷新,事件重復提交的方法分享

    關于頁面刷新,事件重復提交的方法分享

    在處理頁面事件時,我們會經(jīng)常會碰到這樣的情況:當我們在提交一項頁面表單時,在提交成功后,當我們試圖按F5刷新頁面時,數(shù)據(jù)會再次的被重復提交
    2012-10-10
  • 比較全的獲得ip地理信息的幾種方法小結

    比較全的獲得ip地理信息的幾種方法小結

    有時候我們需要獲取ip的地理信息,方便引導用戶訪問或統(tǒng)計,需要的朋友可以參考下
    2012-02-02
  • vscode配置遠程開發(fā)與免密登錄的技巧

    vscode配置遠程開發(fā)與免密登錄的技巧

    這篇文章主要介紹了vscode配置遠程開發(fā)與免密登錄的技巧,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Unity開發(fā)VR項目問題總結分析

    Unity開發(fā)VR項目問題總結分析

    本篇文章主要對Unity開發(fā)VR項目會遇到的一些問題總結,針對這些問題進行分析解決,有需要的朋友可以借鑒參考下,希望對大家有所幫助
    2021-09-09
  • 防止刪庫跑路及高級代碼投毒技巧

    防止刪庫跑路及高級代碼投毒技巧

    這篇文章主要為大家介紹了防止刪庫跑路及高級代碼投毒技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • 遵守這些原則讓你開發(fā)效率提高一倍(收藏)

    遵守這些原則讓你開發(fā)效率提高一倍(收藏)

    這篇文章主要介紹了遵守這些原則讓你開發(fā)效率提高一倍,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 常用的Git便捷操作合集

    常用的Git便捷操作合集

    雖然現(xiàn)在有很多圖形化的?Git?工具,但是命令行依然?yyds。本文記錄了工作中很有用的一些?Git?操作,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-09-09
  • Git恢復之前版本的兩種方法reset、revert(圖文詳解)

    Git恢復之前版本的兩種方法reset、revert(圖文詳解)

    這篇文章主要介紹了Git恢復之前版本的兩種方法reset、revert(圖文詳解),文中通過圖文示例介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07

最新評論