Git reset --hard没有从pull中删除文件?

时间:2016-12-08 23:57:36

标签: git

我是git的新手,对此非常困惑。

我不小心将错误的分支拉到我正在处理的分支中,所以我搜索并发现git reset --hard意味着将其拉回到原始状态。我这样做了,但什么都没发生 - 我拉的文件仍然存在。

然后我使用git reflog show来查看我是否可以执行git reset --hard HEAD@{1}之类的操作,但列出的所有repos都不是我正在处理的那些。

有人能帮助我扭转这种意外拉动吗?

3 个答案:

答案 0 :(得分:1)

如果要将分支重置为分支master而不是wrong-branch

请注意,这会消除您没有推送到遥控器的分支master上的任何更改。

# fetch from remote to make sure you have all latest changes
git fetch origin
# reset to the correct branch
git reset --hard origin/master

答案 1 :(得分:0)

您应该指定要恢复的提交哈希,例如

git reset --hard  [<commit>]

答案 2 :(得分:0)

因为您已将原点/错误分支合并到本地分支(例如br),所以更改了头部。

如果您没有更改本地分支中的任何内容,则可以重置为origin / br

git reset --hard origin/br

或者您需要在拉动之前找到提交哈希,然后重置为

git reset --hard <commitHash>