簡體   English   中英

Git - 我怎樣才能 go 回到初始提交?

[英]Git - how can I go back to initial commit?

我有一個只有一次提交的 git 存儲庫。 在我的本地 master 分支中,我不小心做了一個git commit --amend所以現在我收到一條消息說

On branch master 

Your branch and 'origin/master' have diverged,
and have 1 and 1 different commits each, respectively. 

如何將修改后的提交和 go 丟棄回原始提交? 我想讓我的本地 master 和 origin/master 保持最新狀態,無需提交任何內容

您可以使用reflogmaster重置為它在當前提交之前引用的提交:

git reset --hard master@{1}

在這種情況下,reflog 是一個真正的救星。 Git 書中非常值得一讀:

在您的 Git 旅程中的某個時刻,您可能會意外丟失提交。 通常,發生這種情況是因為您強制刪除了一個對其進行過工作的分支,而事實證明您畢竟想要該分支; 或者你硬重置一個分支,從而放棄你想要的東西的提交。 假設發生這種情況,您如何才能恢復您的提交? [...]

通常,最快的方法是使用名為git reflog的工具。

您可以將當前的master分支重置為與原始分支相同:

git reset --hard origin/master

請注意,這將刪除當前master分支上不在origin/master中的任何更改。

因為,你在'origin/master'並且想要在 git 重置命令下重置使用。

git reset --hard origin/master

說明:來自git 文檔

git-reset - 將當前 HEAD 重置為指定的 state

--hard - 它是模式選項(可選)。 hard 重置索引和工作樹。 此后對工作樹中跟蹤文件的任何更改都將被丟棄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM