Git中的Add回退

一、從Git回退未Add的文件

$ git checkout 文件名

當我們修改了文件但還未執行git add將其加入暫存區時,可以使用git checkout撤銷修改。這將覆蓋本地工作目錄中的文件並還原為最近的提交狀態。

需要注意,這個命令只能撤銷未add的文件。如果已經執行了git add,需要使用其他的方法撤銷修改。

二、Git add後回退命令

$ git reset HEAD 文件名

如果已經使用git add將文件加入到暫存區,但是又想要撤回這個操作,我們可以使用git reset HEAD命令將暫存區的文件移出。

需要注意,這個命令只是將暫存區的文件移出,本地工作目錄中的文件不會被修改。如果需要撤銷本地工作目錄的修改,需要使用git checkout命令。

三、Git回退add的文件

$ git commit --amend

如果已經執行了git add,並且還未執行git commit,我們可以使用git commit –amend修改最近的提交。這將覆蓋最近的提交並將當前添加到暫存區的文件包含在新的提交中。

需要注意,如果有多個文件被add,只能將它們全部包含在新的提交中,不支持選擇性地撤銷一部分文件。

四、Git add沒有反應

有時我們執行了git add命令,但是發現沒有任何反應。這通常是因為文件名包含了敏感字元,如中文、空格等。

解決方法有兩種:

  1. 使用git add命令時用引號將文件名包裹起來。
  2. 將敏感字元替換為下劃線或其他合法字元。

五、Git回退版本

$ git reset [--hard | --soft] 版本號

如果我們想將倉庫中的所有文件都回退到某一個特定的版本號,可以使用git reset命令。

需要注意:

  1. 如果使用–hard參數,本地工作目錄中的文件也會被修改為回退後的狀態,未提交的修改也會被刪除。
  2. 如果使用–soft參數,本地工作目錄中的文件不會被修改,但是未提交的修改仍然存在。

六、Git add指定文件

$ git add 文件名

如果只想對某個文件執行git add操作,可以指定文件名。

需要注意,如果執行了git add文件夾名(或者「.」),則會將整個文件夾下的所有文件都加入暫存區。

七、GitLab回退版本

$ git revert 版本號

如果是在使用GitLab這樣的代碼託管服務中工作,可以使用git revert命令來回退版本。

與git reset不同,git revert會創建一個新的提交,將選定版本中修改的內容撤消,並將其作為一個新的提交提交到分支上。這樣可以保留回退的記錄,也可以方便地恢復到之前的狀態。

八、Git add文件夾

$ git add 文件夾名

如果需要將整個文件夾加入暫存區,可以使用git add命令指定文件夾名。

需要注意,如果文件夾下的某些文件不需要加入暫存區,需要在執行該命令之前將這些文件加入.gitignore文件中,否則每次執行git add都會將這些文件也加入暫存區。

九、Git回退commit

$ git reset [--hard | --soft] HEAD~n

如果想要回退多個commit,可以使用git reset [–hard | –soft] HEAD~n命令,其中n表示要回退的提交數。

與回退版本的方法一樣,–hard參數會將本地工作目錄中的文件也修改為回退後的狀態,未提交的修改也會被刪除;–soft參數則不會修改本地工作目錄中的文件,但是未提交的修改仍然存在。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/229229.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-10 12:10
下一篇 2024-12-10 12:23

相關推薦

  • Git secbit:一種新型的安全Git版本

    Git secbit是一種新型的安全Git版本,它在保持Git原有功能的同時,針對Git存在的安全漏洞做出了很大的改進。下面我們將從多個方面對Git secbit做詳細地闡述。 一…

    編程 2025-04-29
  • 如何優化 Git 性能和重構

    本文將提供一些有用的提示和技巧來優化 Git 性能並重構代碼。Git 是一個非常流行的版本控制系統,但是在處理大型代碼倉庫時可能會有一些性能問題。如果你正在處理這樣的問題,本文將會…

    編程 2025-04-29
  • Idea2022變更Git地址

    本文將從以下幾個方面對Idea2022變更Git地址進行詳細闡述: 一、GitHub上修改Git倉庫地址 1、登錄GitHub,找到需要修改的Git倉庫 2、在代碼頁面點擊右上角的…

    編程 2025-04-28
  • 通過提交信息搜索-使用git

    本篇文章重點講解如何使用git通過提交信息來搜索。我們將從多個方面介紹如何使用git來搜索提交信息,並提供相應的代碼示例以供參考。 一、搜索方式 Git提供了三種搜索方式,分別為:…

    編程 2025-04-27
  • Java項目Git發布流程規範

    本文旨在介紹Java項目在使用Git進行發布時的流程規範。Git作為一個版本控制工具,其功能十分強大,但是對於Java項目進行發布時,需要我們根據標準化的流程規範來執行操作,以確保…

    編程 2025-04-27
  • 使用Pycharm從Git上Clone項目的步驟

    在本篇文章中,我們將會詳細介紹如何使用Pycharm工具從Git上Clone項目。 一、打開Pycharm並進入Welcome界面 首先,我們需要打開Pycharm工具,並進入We…

    編程 2025-04-27
  • git config user.name的詳解

    一、為什麼要使用git config user.name? git是一個非常流行的分散式版本控制系統,很多程序員都會用到它。在使用git commit提交代碼時,需要記錄commi…

    編程 2025-04-25
  • Git Tag命令

    一、Tag是什麼 Tag是一個指向Git倉庫中某個commit對象的指針,通常用於標記軟體版本發布的重要時間點。Tag不同於分支,分支可以移動並在其上進行提交;而Tag是指向特定提…

    編程 2025-04-25
  • Git push 被拒絕該如何解決

    Git push 被拒絕是Git使用過程中常見的問題之一,本文將從多個方面介紹Git push 被拒絕的常見原因及解決方法。 一、導致git push 被拒絕的原因及解決方法 Gi…

    編程 2025-04-25
  • 學習Git分支

    一、初識learngitbranching learngitbranching 是一個互動式學習Git分支的網站,旨在幫助用戶更好地理解分支工作流程和提交歷史。該網站提供了一個可交…

    編程 2025-04-25

發表回復

登錄後才能評論