2010-07-10 63 views
1

我有一個文件夾,我使用「git init」,然後,我使用「git add」。將所有文件添加到git中。之後,我使用「git commit -m」初始設置「」。現在,我做了一些事情,我做錯了,我想回到「git commit -m」初始設置狀態,我該怎麼辦?謝謝。如何從git恢復提交初始化?

我可以這樣解釋.. ..

My Files: ABC 
---> git add . 

My Files: ABC 
---> git commit -m "initial setup" 

My Files: CDE 
---> 

我想回滾到「我的文件:ABC」。

回答

1

據我所知:你開始與該文件夾,其中有文件A,B,C在裏面。在此文件夾中,您運行了命令

git init 
git add . 
git commit -m 'initial setup' 

然後您對文件A,B,C進行了更改,現在您要撤消這些更改?在這種情況下,只需要運行

git checkout * 

或者我覺得這個工作太:

git checkout . 

,它會改變你們已經到git是跟蹤對文件所做的任何未提交的更改。

+0

用戶的MacBook:szecau用戶$ git的結帳 中號\t應用程序/視圖/用戶/ index.html.erb 中號\t應用程序/視圖/用戶/ new.html.erb 中號\t的config/routes.rb中 中號\t分貝/development.sqlite3 中號\t分貝/ schema.rb 中號\t日誌/ development.log 我運行這個CMD,但我得到了這一點,但沒有什麼是回滾。 – Tattat 2010-07-10 10:01:55

+0

應該是'git checkout *',我忘了你必須指定路徑。 – 2010-07-10 10:04:22

+0

對不起,它仍然無法正常工作,沒有想法: 錯誤:pathspec'lib'與git已知的任何文件都不匹配。 錯誤:pathspec'tmp'與git已知的任何文件都不匹配。 錯誤:pathspec'vendor'與git已知的任何文件都不匹配。 – Tattat 2010-07-10 10:08:13

0

最簡單的方法是刪除.git文件夾,保持庫狀態,然後做git initgit add再次

更新:要將更改回滾到工作副本文件,只需執行git checkout,它將從存儲庫中獲取最新的提交版本。

+0

對不起,我可能會問錯了,更新的問題。 – Tattat 2010-07-10 08:13:18

0

另一種方式:

  1. 獲取的沙承諾要恢復到(一個簡單的方法是在命令行中運行git log --oneline,這將給你的短SHA和的第一線提交消息)。
  2. 這個SHA值運行git reset --hard