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

Git撤回已Push的代碼的方法大全

 更新時間:2025年12月31日 08:54:56   作者:野生技術(shù)架構(gòu)師  
在日常的開發(fā)中,我們經(jīng)常使用Git來進行版本控制,有時候,我們可能會不小心將錯誤的代碼 Push 到遠程倉庫,或者想要在本地回退到之前的某個版本重新開發(fā),所以本文給大家介紹了Git 如何撤回已 Push 的代碼,需要的朋友可以參考下

面試官問:Git 如何撤回已 Push 的代碼?如果問你,你會嗎?

在日常的開發(fā)中,我們經(jīng)常使用Git來進行版本控制。有時候,我們可能會不小心將錯誤的代碼 Push 到遠程倉庫,或者想要在本地回退到之前的某個版本重新開發(fā)。

或者像我一樣,寫了一些感覺以后很有用的優(yōu)化方案push到線上,又接到了一個新的需求。但是呢,項目比較重要,沒有經(jīng)過測試的方案不能輕易上線,為了承接需求只能先把push上去的優(yōu)化方案先下掉。

現(xiàn)在我的分支是這樣的,我想要在本地和遠程倉庫中都恢復(fù)到help文檔提交 的部分。

1. 基礎(chǔ)的手動操作(比較笨,不推薦)

這樣的操作非常不推薦,但是如果你不了解git,確實是我們最容易理解的方式。

如果你的錯誤代碼不是很多,那么你其實可以通過與你想要恢復(fù)到的commit進行對比,然后手動刪除錯誤代碼,然后刪除不同的代碼。

按住 ctrl 選擇想要對比的兩個commit,然后選擇 Compare Versions 就能通過對比刪除掉你想要刪除的代碼。

這個方案在代碼很簡單時時非常有效的,甚至還能通過刪除后最新commit和想要退回的commit在Compare 一下保障代碼一致。

但是這個方法對于代碼比較復(fù)雜的情況來說就不太好處理了,如果涉及到繁雜的配置文件,那更是讓人頭疼。只能通過反復(fù)的Compare Version來進行對比。

這樣的手動操作顯然顯得有些笨拙了,對此git有一套較為優(yōu)雅的操作流程,同樣能解決這個問題。

2. git Revert Commit(推薦)

同樣的,我第三次提交了錯誤代碼,并且已經(jīng)push到遠程分支。想要撤回這部分代碼,只需要右鍵點擊錯誤提交記錄

git自動產(chǎn)生一個Revert記錄,然后我們會看到git自動將我第三次錯誤提交代碼回退了,這個其實就相當(dāng)于git幫我們手動回退了代碼。

后續(xù),只需要我們將本次改動push到遠程,即可完成一次這次回退操作,

revert相當(dāng)于自動幫我們進行版本回退操作,并且留下改動記錄,非常安全。這也是評論區(qū)各位大佬非常推薦的。

但是revert還是存在一點不足,即一次僅能回退一次push。如果我們有幾十次甚至上百次的記錄,一次次的單擊回退不僅費時費力而且還留下了每次的回退記錄,我個人覺得revert在這種情況下又不太優(yōu)雅。

3. 增加新分支(推薦撤回較多情況下使用)

如果真的需要回退到上百次提交之前的版本,我的建議是直接新建個分支。

在想要回到的版本處的提交記錄右鍵,點擊new branch

新建分支的操作僅僅增加了一個分支,既能保留原來的版本,又能安全回退到想要回退的版本,同時不會產(chǎn)生太多的回退記錄。

但是此操作仍然建議慎用,因為這個操作執(zhí)行多了,分支管理就又成了一大難題。

4. Reset Current Branch 到你想要恢復(fù)的commit記錄(不太安全,慎用)

這個時候會跳出四個選項供你選擇,我這里是選擇hard 。

其他選項的含義僅供參考 ,因為我也沒有一一嘗試過。

  1. Soft :你之前寫的不會改變,你之前暫存過的文件還在暫存。
  2. Mixed :你之前寫的不會改變,你之前暫存過的文件不會暫存。
  3. Hard :文件恢復(fù)到所選提交狀態(tài),任何更改都會丟失。你已經(jīng)提交了,然后你又在本地更改了,如果你選hard,那么提交的內(nèi)容和你提交后又本地修改未提交的內(nèi)容都會丟失。
  4. keep :任何本地更改都將丟失,文件將恢復(fù)到所選提交的狀態(tài),但本地更改將保持不變。你已經(jīng)提交了,然后你又在本地更改了,如果你選keep,那么提交的內(nèi)容會丟失,你提交后又本地修改未提交的內(nèi)容不會丟失。

然后,之前錯誤提交的commit就在本地給干掉了。但是遠程倉庫中的提交還是原來的樣子,你要把目前狀態(tài)同步到遠程倉庫。也就是需要把那幾個commit刪除的操作push過去。

打開push界面,雖然沒有commit需要提交,需要點擊Force Push ,強推過去。

需要注意的是對于一些被保護的分支,這個操作是不能進行的。需要自行查看配置,我這里因為不是master分支,所以沒有保護。

可以看到,遠程倉庫中最新的commit只有我們的help文檔 。在其上的三個提交都沒了。

以上就是Git撤回已Push的代碼的方法大全的詳細內(nèi)容,更多關(guān)于Git撤回已Push代碼的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • vs2022使用git同步報錯以及解決每次推送要輸入密碼問題

    vs2022使用git同步報錯以及解決每次推送要輸入密碼問題

    本文主要介紹了vs2022使用git同步報錯以及解決每次推送要輸入密碼問題,文中通過圖文示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-10-10
  • Gitee的下載安裝配置及使用步驟詳解

    Gitee的下載安裝配置及使用步驟詳解

    這篇文章主要介紹了Gitee的下載安裝配置及使用,本文通過詳細步驟給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • 算法系列15天速成 第十一天 樹操作(上)

    算法系列15天速成 第十一天 樹操作(上)

    我們可以對”線性結(jié)構(gòu)“改造一下,變?yōu)椤币粋€節(jié)點最多有一個"前驅(qū)“和”多個后繼“。哈哈,這就是我們今天說的”樹“
    2013-11-11
  • 在VSCode中如何配置Python開發(fā)環(huán)境

    在VSCode中如何配置Python開發(fā)環(huán)境

    VScode是一個相當(dāng)優(yōu)秀的IDE,具備開源、跨平臺、模塊化、插件豐富、啟動時間快、顏值高、可高度定制等等優(yōu)秀的特質(zhì),所以用VScode來編寫Python,也是相當(dāng)?shù)暮糜玫?。所以,今天我們就來講講,怎么在VScode上配置Python開發(fā)環(huán)境。
    2020-01-01
  • 徹底解決頁面文字編碼亂碼問題

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

    在HTML頁面中、Javascript腳本中、以及XML數(shù)據(jù)傳輸中,因為編碼導(dǎo)致的問題不計其數(shù)。
    2009-10-10
  • git ssh 配置多個賬戶的方法

    git ssh 配置多個賬戶的方法

    這篇文章主要介紹了git ssh 配置多個賬戶的方法,需要的朋友可以參考下
    2017-10-10
  • WinSCP和PuTTY(與Linux系統(tǒng)鏈接的工具)的安裝和使用圖文教程

    WinSCP和PuTTY(與Linux系統(tǒng)鏈接的工具)的安裝和使用圖文教程

    Putty是用來遠程連接服務(wù)器的,支持SSH、Telnet、Serial等協(xié)議的連接,WinSCP是一個Windows環(huán)境下使用SSH的開源圖形化SFTP客戶端,它的主要功能就是在本地與遠程計算機間安全的復(fù)制文件,本文重點給大家介紹WinSCP和PuTTY安裝使用,感興趣的朋友一起看看吧
    2022-06-06
  • git?stash(儲藏)的用法總結(jié)

    git?stash(儲藏)的用法總結(jié)

    本文詳細講解了git?stash(儲藏)的用法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • windows 中 \r\n 區(qū)別于 類unix中的\n 疑問理解(crlf回車換行)

    windows 中 \r\n 區(qū)別于 類unix中的\n 疑問理解(crlf回車換行)

    windows 中 \r\n 區(qū)別于 類unix中的\n 疑問 迎刃而解,需要的朋友可以參考下。
    2011-08-08
  • gb2312的詳細介紹

    gb2312的詳細介紹

    gb2312的詳細介紹,需要的朋友可以參考一下
    2013-03-03

最新評論

琼中| 三江| 武清区| 章丘市| 云梦县| 济源市| 商城县| 古交市| 天门市| 连江县| 丰顺县| 巴青县| 江川县| 阿勒泰市| 九龙县| 永泰县| 印江| 海伦市| 莫力| 浠水县| 玉树县| 兴义市| 保定市| 固始县| 潜江市| 宁南县| 富裕县| 来凤县| 阿图什市| 青岛市| 墨脱县| 凤庆县| 申扎县| 田阳县| 中宁县| 新津县| 洞头县| 红河县| 固阳县| 江津市| 祁门县|