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

git之遠程代碼回滾master問題

 更新時間:2023年11月28日 09:29:07   作者:藍精靈的自由宇宙  
這篇文章主要介紹了git之遠程代碼回滾master問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

人總是會有犯錯的時候,所以我們的代碼有時候就需要回滾。

當(dāng)我們要回滾的代碼還沒有提交到遠程的時候,可以進行本地回滾,較為簡單。

一、 本地回滾

git reset

回退內(nèi)容到上一個版本。就像現(xiàn)在的自己為成年人,想要回退到童年,直接用gitreset命令,直接回退到小時候。

$ git reset --hard 22f8aae 。

22f8aae 為某次提交的提交號。

可以用git命令進行回退,也可以在intellij中可視化界面回退,如下。

比如我們要回退到第二次提交,可以在提交log界面中,選中第二次提交,右鍵選擇reset current branch to here,如下圖所示。

reset有幾種模式,包括Hard 、Mixed、Soft、Keep,區(qū)別如下英文說明。

git reset --hard HEAD~3 (回退3次提交)

  • --hard:本地的源碼和本地未提交的源碼都會回退到某個版本,包括commit內(nèi)容,和git自己對代碼的索引都會回退到某個版本,就如上圖所說,any local changes will be lost。
  • --soft:保留源碼,只能回退到commit信息到某個版本,不涉及到index的回退,如果還需要提交,直接commit即可。比如我選擇soft方式來進行回退,我的本地代碼和本地新添加的尚未commit的代碼都沒有改變。

  • --mixed:會保留源碼,只是將git commit和index信息回退到某個版本。

git revert

如果錯誤的修改已經(jīng)不是最新的commit,回退某次提交的上一步,用git revert。并且會生成一個新的提交來撤銷某次提交,此次提交之前的commit都會被保留。

就像是現(xiàn)在的自己是青年人,用git revert是無法退回到小時候,但可以修改小時候某次做過的事情,比如小時候和別人打架,可以直接清除這次打架記憶,但會生成一個最新的記錄,會記錄下曾經(jīng)清楚過小時候這段記憶(我的理解是這樣的,勿噴)。

git revert c011eb3c20ba6fb38cc94fe5a8dda366a3990c61 回退該次提交(提交后的生成的唯一編號c011eb3c20ba6fb38cc94fe5a8dda366a3990c61)

以上的兩種方式均為本地回滾,均不可以達到遠程回滾的效果。要想把遠程分支上的代碼進行回滾,還需要如下操作。

當(dāng)我們的代碼已經(jīng)提交到遠程,不但要回滾本地的代碼,同時也要回滾遠程的代碼,如下操作。

二、 遠程回滾

方法一

先git reset回滾到本地,然后再強制push到遠程。

1,回滾到本地上述已經(jīng)說明不再贅述。

2,強推到遠程分支(謹慎操作,膽小勿做,備份預(yù)備)

git push -u origin master -f origin:遠程倉庫名 master:分支名稱 -f:force,意為強制、強行

我們是要把本地的修改強制推送到遠程分支上,在強推mster的可能會報錯,意思是沒有權(quán)限之類的錯誤,報錯如下。

remote: GitLab: You don't have permission
To git@10.255.223.213:code-ddreader/media-hapi.git
! [remote rejected] master (pre-receive hook declined)

是因為master分支一般會成為保護分支,所以我們首先要去除master為保護分支,才可以強推。

為分支開啟保護

  • *管理員可以開啟
  • * 開啟,無法強制推送
  • * 開啟,無法被刪除
  • * 只有測試全部通過才被接受合并

該分支添加了保護權(quán)限,需要設(shè)置去掉保護權(quán)限(http://10.255.223.*/code-dd/media-project/protected_branches)。

這樣操作后就可以把本地強制推送要遠程。

方法二

先reset回滾到本地,然后再提交到一個新的分支,刪除錯誤的分支(git brach -d master),再把新的分支重命名刪除掉的分支。

(ps這需要團隊的其他人把本地的刪除掉,然后重新下載一份,任何一個人未重新下載就可以出問題。)

默認分支設(shè)置,也可能要刪除的分支為 默認分支,造成刪除默認分支失敗。

默認分支是無法刪除的,遇到master遠程倉庫要回滾就會出問題,我們master是默認的主干,所以不允許刪除,要刪除的話還要設(shè)置一個新的分支為主分支。

git config --global push.default "current"

所以第二種方法也不是十分的好。

方法三

對于少量的回滾,手動回滾

對于少量的回滾,可以手動回滾,實在修改的文件太多,無法具細,再采用前兩種方式。

總結(jié)

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

相關(guān)文章

  • git切換到指定遠程分支的方法

    git切換到指定遠程分支的方法

    這篇文章主要介紹了git切換到指定遠程分支的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • wireshark捕獲過濾器語法使用解析

    wireshark捕獲過濾器語法使用解析

    這篇文章主要為大家介紹了wireshark捕獲過濾器語法使用解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-04-04
  • git fetch和git pull的區(qū)別解析

    git fetch和git pull的區(qū)別解析

    git fetch是將遠程主機的最新內(nèi)容拉到本地,用戶在檢查了以后決定是否合并到工作本機分支中,這篇文章主要介紹了git fetch和git pull的區(qū)別,需要的朋友可以參考下
    2023-01-01
  • 老生常談計算機中的編碼問題(必看篇)

    老生常談計算機中的編碼問題(必看篇)

    下面小編就為大家?guī)硪黄仙U動嬎銠C中的編碼問題(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • 如何用idea+gitee來團隊合作開發(fā)項目的教程

    如何用idea+gitee來團隊合作開發(fā)項目的教程

    這篇文章主要介紹了如何用idea+gitee來團隊合作開發(fā)項目,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • 日常收集整理的Git常用命令

    日常收集整理的Git常用命令

    Git 是一個很強大的分布式版本控制系統(tǒng)。它不但適用于管理大型開源軟件的源代碼,管理私人的文檔和源代碼也有很多優(yōu)勢。下面腳本之家小編給大家?guī)砹薌it 常用命令,感興趣的朋友一起看看吧
    2017-10-10
  • Matlab幾個常用的繪圖顏色搭配推薦

    Matlab幾個常用的繪圖顏色搭配推薦

    使用matlab畫圖時,怎樣才能調(diào)出順眼的顏色呢?下面這篇文章主要給大家介紹了關(guān)于Matlab幾個常用的繪圖顏色搭配,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • 算法系列15天速成 第十天 棧

    算法系列15天速成 第十天 棧

    今天跟大家聊聊棧,在程序設(shè)計中,棧的使用還是非常廣泛的,比如有“括號匹配問題“,”html結(jié)構(gòu)匹配問題“。所以說掌握了”?!暗氖褂茫瑢ξ覀儗W(xué)習(xí)算法還是很有幫助的
    2013-11-11
  • xmlHttp ie6下不跨域還提示沒有權(quán)限,ie8下不會有這錯誤

    xmlHttp ie6下不跨域還提示沒有權(quán)限,ie8下不會有這錯誤

    昨天晚上叫我好弄啊,最后發(fā)現(xiàn)原因是我url太長了,最后發(fā)現(xiàn)URL在2070B左右就不行了
    2009-04-04
  • Git 教程之工作區(qū)、暫存區(qū)和版本庫詳解

    Git 教程之工作區(qū)、暫存區(qū)和版本庫詳解

    本文主要介紹Git 工作區(qū)、暫存區(qū)和版本庫的知識,這里整理了詳細的資料,有需要的小伙伴可以參考下
    2016-09-09

最新評論