如何恢复我提交的更改?

时间:2016-04-19 14:35:53

标签: git terminal conflict

我正在使用beanstalkapp,我看到分支前面的冲突,只是冲突不是很有帮助。但即使我做git status,我也没有看到任何说有冲突的东西。任何帮助,以找到我在哪里可以找到文件冲突? Here is a image from dashboard

1 个答案:

答案 0 :(得分:6)

如果您发现服务器端存在冲突,但您没有看到它 - 您可能会有不同的内容。首先从远程服务器执行git pull以确保您是最新的。

  

我想回到提交,几天后再放弃任何事情

Read out this full detailed answer将详细解释你能做些什么。

基本上你有几个选择,但主要选项是:

  • git reset
  • git checkout -b <sha-1>

如何找出所需的提交?

您可以使用log命令或git reflog

执行此操作

git reflog

git reflog将显示更新HEAD的任何更改,并且检出所需的reflog条目会将HEAD设置回此提交。

每次修改HEAD时,reflog

都会有新条目
# print teh git reflog
git reflog

# find out the desired commit (of the index in the reflog) 
git checkout HEAD@{...}

enter image description here

git checkout

# Find out the desired commit which you wish to go back to 
# Once you have it checkout the commit to a new branch
git checkout -b <new branch> <commit_id>

另一个选项是git reset

<强> git reset HEAD --hard <commit_id>

&#34;移动&#34;回到理想的承诺 像以前一样找出所需的提交,然后告诉你的存储库指向这个提交。

# read the documentation about the different flavors of the reset (hard/mixed/soft)
git reset HEAD --hard <sha-1>

现在你的存储库是&#34;返回&#34;到期望的提交。