亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

git之遠(yuǎn)程代碼回滾master問題

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

人總是會(huì)有犯錯(cuò)的時(shí)候,所以我們的代碼有時(shí)候就需要回滾。

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

一、 本地回滾

git reset

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

$ git reset --hard 22f8aae 。

22f8aae 為某次提交的提交號(hào)。

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

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

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

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

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

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

git revert

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

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

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

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

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

二、 遠(yuǎn)程回滾

方法一

先git reset回滾到本地,然后再?gòu)?qiáng)制push到遠(yuǎn)程。

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

2,強(qiáng)推到遠(yuǎn)程分支(謹(jǐn)慎操作,膽小勿做,備份預(yù)備)

git push -u origin master -f origin:遠(yuǎn)程倉(cāng)庫(kù)名 master:分支名稱 -f:force,意為強(qiáng)制、強(qiáng)行

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

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)

是因?yàn)閙aster分支一般會(huì)成為保護(hù)分支,所以我們首先要去除master為保護(hù)分支,才可以強(qiáng)推。

為分支開啟保護(hù)

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

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

這樣操作后就可以把本地強(qiáng)制推送要遠(yuǎn)程。

方法二

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

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

默認(rèn)分支設(shè)置,也可能要?jiǎng)h除的分支為 默認(rèn)分支,造成刪除默認(rèn)分支失敗。

默認(rèn)分支是無法刪除的,遇到master遠(yuǎn)程倉(cāng)庫(kù)要回滾就會(huì)出問題,我們master是默認(rèn)的主干,所以不允許刪除,要?jiǎng)h除的話還要設(shè)置一個(gè)新的分支為主分支。

git config --global push.default "current"

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

方法三

對(duì)于少量的回滾,手動(dòng)回滾

對(duì)于少量的回滾,可以手動(dòng)回滾,實(shí)在修改的文件太多,無法具細(xì),再采用前兩種方式。

總結(jié)

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

相關(guān)文章

  • git切換到指定遠(yuǎn)程分支的方法

    git切換到指定遠(yuǎn)程分支的方法

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

    wireshark捕獲過濾器語(yǔ)法使用解析

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

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

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

    老生常談?dòng)?jì)算機(jī)中的編碼問題(必看篇)

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

    如何用idea+gitee來團(tuán)隊(duì)合作開發(fā)項(xiàng)目的教程

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

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

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

    Matlab幾個(gè)常用的繪圖顏色搭配推薦

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

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

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

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

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

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

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

最新評(píng)論