最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)行本地回滾,較為簡單。

一、 本地回滾

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回滾到本地,然后再強(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)程倉庫名 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)制推送
  • * 開啟,無法被刪除
  • * 只有測試全部通過才被接受合并

該分支添加了保護(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)程倉庫要回滾就會(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)文章

  • 代碼中到底應(yīng)不應(yīng)當(dāng)寫注釋?

    代碼中到底應(yīng)不應(yīng)當(dāng)寫注釋?

    注釋的確有其用途,但大部分情況下,程序員在濫用注釋。我是反對(duì)夾雜在代碼間的注釋的,我認(rèn)為注釋應(yīng)當(dāng)從代碼中獨(dú)立出來——通常被稱為文檔。
    2014-10-10
  • 淺談解決360兼容模式瀏覽器的方法

    淺談解決360兼容模式瀏覽器的方法

    這篇文章給大家分享的是關(guān)于解決360兼容模式瀏覽器的方法,對(duì)于大家日常開發(fā)還是很實(shí)用,有需要的可以參考借鑒,下面一起來看看。
    2016-08-08
  • 解決vs?code通過remote-ssh遠(yuǎn)程到ubuntu頻繁掉線問題

    解決vs?code通過remote-ssh遠(yuǎn)程到ubuntu頻繁掉線問題

    這篇文章主要介紹了vs?code通過remote-ssh遠(yuǎn)程到ubuntu頻繁掉線問題解決方法,這個(gè)解決方案只要用自己安裝的Git替換掉windows本身的Git工具,需要的朋友可以參考下
    2022-09-09
  • 徹底解決頁面文字編碼亂碼問題

    徹底解決頁面文字編碼亂碼問題

    在HTML頁面中、Javascript腳本中、以及XML數(shù)據(jù)傳輸中,因?yàn)榫幋a導(dǎo)致的問題不計(jì)其數(shù)。
    2009-10-10
  • Git代碼沖突問題分析及解決方案

    Git代碼沖突問題分析及解決方案

    本文介紹了解決Git代碼沖突的兩種方法:使用IntelliJ IDEA工具和Git命令行,通過對(duì)比不同分支的代碼差異,選擇有效代碼進(jìn)行合并,在IntelliJ IDEA中,可以通過Merge功能解決沖突;在Git命令行中,需要手動(dòng)編輯沖突文件并提交修改
    2025-11-11
  • git提交報(bào)錯(cuò)pre -commit hook failed (add --no-verify)問題及解決

    git提交報(bào)錯(cuò)pre -commit hook failed (add 

    這篇文章主要介紹了git提交報(bào)錯(cuò)pre -commit hook failed (add --no-verify)問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • git刪除分支實(shí)現(xiàn)步驟

    git刪除分支實(shí)現(xiàn)步驟

    文章詳細(xì)介紹了在Git中如何刪除本地和遠(yuǎn)程分支,包括查看分支列表、切換分支、刪除分支的安全方法和強(qiáng)制刪除方式,以及刪除遠(yuǎn)程分支后同步本地分支狀態(tài)的方法,同時(shí),還總結(jié)了常見問題的解決方法,提醒用戶在刪除分支時(shí)要謹(jǐn)慎操作
    2025-12-12
  • Git Submodule使用完整教程(小結(jié))

    Git Submodule使用完整教程(小結(jié))

    這篇文章主要介紹了Git Submodule使用完整教程(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • GitLab文件的上傳與下載方式

    GitLab文件的上傳與下載方式

    這篇文章主要介紹了GitLab文件的上傳與下載方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • git大倉庫拉取卡頓問題排查與解決方法

    git大倉庫拉取卡頓問題排查與解決方法

    在大倉庫中執(zhí)行 git fetch 或 git pull 遲遲沒有反應(yīng),通常是由網(wǎng)絡(luò)問題、數(shù)據(jù)量過大導(dǎo)致內(nèi)存/緩沖區(qū)溢出、或認(rèn)證卡死引起的, 下面我們就來看如何排查和解決吧
    2026-05-05

最新評(píng)論

临颍县| 突泉县| 探索| 登封市| 义马市| 景宁| 宜兰县| 灯塔市| 温宿县| 扬州市| 阳山县| 青浦区| 曲水县| 遵化市| 常州市| 漳浦县| 松潘县| 灵台县| 乐东| 博白县| 乐至县| 游戏| 昌黎县| 翁牛特旗| 揭东县| 个旧市| 渭源县| 定结县| 阳曲县| 金秀| 两当县| 盐津县| 江口县| 茂名市| 中牟县| 睢宁县| 奈曼旗| 裕民县| 河曲县| 防城港市| 晋宁县|