當前位置:歷史故事大全網 - 歷史上的今天 - 63.Git Reset詳細解釋了版本回滾的三種模式。

63.Git Reset詳細解釋了版本回滾的三種模式。

意味著可以讓指針頭指向其他版本。說白了,這個命令就是用來在版本之間穿梭的。

它有三種模式,軟,混合,硬,以及特定的用法。下圖完整的展現出來了。

這三種模式都懂,對使用這個命令很有幫助。在理解這三種模式之前,妳需要了解壹點Git的基本流程。如上所示,Git將有三個區域:

工作樹的當前工作區域

索引/階段臨時區域不同於git stash命令臨時區域。使用git add xx,可以將xx添加到近階段。

存儲庫提交的歷史,即使用git commit提交後的結果。

首先Git必須知道當前版本是哪個版本。在Git中,Head用來表示當前版本,前壹個版本是Head,前壹個版本是HEAD,以此類推。當然從100版本寫100更容易,所以寫成HEAD~100。

- hard將在重置頭和分支的同時重置緩存和工作目錄的內容。當您在重置後添加- hard參數時,您的緩存和工作目錄的內容將完全重置為與HEAD的新位置相同的內容。換句話說,您未提交的更改將被完全刪除。

回滾到以前的版本:

回到指定版本號的版本(以1a2b3c為例):

Reset - hard:重置stage區域和工作目錄;

- soft將保留工作目錄的內容,並將重新設置頭帶來的新文件差異放入臨時存儲區。

「重置頭部帶來的新不同」是什麽?就是這個:

由於磁頭已經從4移到了3,而工作目錄和臨時存儲區的內容在復位過程中並沒有被清除,所以4中的變化成為了復位後工作目錄和磁頭的新區別。這就是上壹段提到的“重置頭部造成的差異”。

這就是-soft和-hard的區別:-hard會清除工作目錄和臨時存儲區的變化,*而-soft會保留工作目錄的內容,把保留工作目錄內容帶來的新的文件差異放到臨時存儲區。

如果git reset不添加參數,則默認使用- mixed參數。此時,它的意思是:保留工作目錄,清空臨時存儲區。換句話說,工作目錄的修改、臨時存儲區的內容以及重置導致的新文件差異都將被放入工作目錄。簡而言之,它意味著“混合了工作目錄中的所有差異”。

首先Git必須知道當前版本是哪個版本。在Git中,Head用來表示當前版本,前壹個版本是Head,前壹個版本是HEAD,以此類推。當然從100版本寫100更容易,所以寫成HEAD~100。

回滾到以前的版本:

回到指定版本號的版本(以1a2b3c為例):

- hard將清除工作目錄和臨時存儲區中的更改。

- soft將保留工作目錄的內容,並將保留工作目錄的內容帶來的新文件差異放入臨時存儲區。

-混合參數。如果git reset不添加參數,則默認使用- mixed參數。此時,它的意思是:保留工作目錄,清空臨時存儲區。

HEAD指向的版本就是當前版本,所以Git允許我們在版本之間穿梭,使用命令。

git重置-硬提交id

在穿梭之前,可以使用git log來查看提交歷史,以便確定要恢復到哪個版本。

要返回到將來,請使用git reflog檢查命令歷史,以確定將來要返回到哪個版本。

  • 上一篇:邢岫巖和薛珂的愛情結局是喜是悲?
  • 下一篇:文化傳媒股的龍頭股有哪些?
  • copyright 2024歷史故事大全網