2016-08-01 46 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' 。 没有提交,工作目录干净' –