2016-08-01 78 views
0

我想撤消選定的提交。導致我的團隊推送不同的許多文件和許多提交。如何撤消選定的提交

我所做的是拉刪除文件。現在我的文件也消失了。

我想這

git rebase -i 4dd0c29 
git reset --hard undo 

但是沒有什麼改變

+0

檢查這個的: http://stackoverflow.com/questions/20324638/reverting-specific-commits-from-git http://stackoverflow.com/questions/2938301/remove-specific-commit 更多:https://www.git-tower.com/learn/git/faq/restore-repo-to-previous-revision – Mayur

+0

閱讀它將解釋如何做到這一點。 http://stackoverflow.com/questions/34519665/how-to-move-head-back-to-a-previous-location-detached-head/34519716#34519716 – CodeWizard

回答

1

在項目的主git目錄中使用命令git log以獲取最近的提交。最近的提交將首先顯示。它還會以長格式記錄提交號碼。例如:

commit ed7cec151e25ea7f9e0d0563598ee9afd3170952 
Author: xxx <[email protected]> 
Date: Thu Jul 28 17:25:51 2016 +0500 

然後硬用你提交ID重置所有的變化:

git reset --hard ed7cec151e25ea7f9e0d0563598ee9afd3170952 

希望它能幫助。

0

使用git reflog它會給你的日誌從而改變HEAD活動的列表。查找[email protected]{id}(其中id是一個數字),它表示在之前git pull頭,然後就git reset --hard [email protected]{id}(確保與HEAD的數字替換單詞id

或者,你可以做git reset --hard HEAD^這將恢復您的HEAD到之前的狀態是在git pull之前。

+0

在哪裏可以找到'id'? –

+0

我已經提交'4dd0c29'代碼 –

+0

運行'git reflog''id'的形式是'HEAD @ {number}' –

0

要還原特定的提交,使用git revert <commit>

這將創建一個新的提交其中<commit>內容已恢復。

+0

它給了我這個錯誤'你的分支是'origin/master' 。 沒有提交,工作目錄乾淨' –