如何在git上恢复到新的分支(删除所有未提交的更改)

时间:2018-03-12 23:17:16

标签: eclipse git git-branch git-reset

如何恢复/删除我在本地手动完成的所有更改。

示例I有2个分支

1) master branch
2) branch2

我检查了分支2并开始在本地进行一些更改。我不小心为所有文件替换了一个单词。所以现在我的所有文件都没有被删除。

我想重新开始。 (我在分支2中提交和推送的内容)并删除所有本地更改。

我试过

git pull branch2
git reset --hard
git --hard branch2
git checkout .

但我最近的变化仍然存在于我的本地。是否有恢复此命令的命令,还是我必须克隆分支并从那里开始?

PS我所有的本地更改都没有提交。

谢谢

2 个答案:

答案 0 :(得分:2)

您可以执行git stash暂时存储您所做的更改并且不想提交。然后再做git stash pop以取回它们。如果您再也不想看到这些更改,则可以使用

覆盖本地更改

git reset --hard

git pull

您说您没有提交文件,因此可能需要删除未跟踪的本地文件。我会跑git clean -f。那将删除未跟踪的文件。如果您还需要删除未跟踪的目录(文件夹),则可以执行git clean -df

希望有所帮助!

答案 1 :(得分:1)

这将消除在本地完成的所有更改,并删除分支上最后提交的更改。

git reset .
git checkout .
git checkout branch2
git fetch && git reset --hard origin/branch2