回滚到上次git提交

bvpmtnay  于 2023-04-04  发布在  Git
关注(0)|答案(6)|浏览(223)

我刚刚做了一个

git commit -m "blah"

然后我添加了一些文件,我如何回滚并删除我当前文件中尚未添加/提交的内容?

qvtsj1bj

qvtsj1bj1#

编辑的答案-随着时间的推移进行了编辑,以便更有帮助
买者自负- * 前方有毁灭性命令 *
缓解措施-git reflog * 可在您需要时为您提供帮助。*

1.UNDO本地文件更改和KEEP上次提交
git重置--硬
1.UNDO本地文件更改和REMOVE上次提交
git重置--硬HEAD^
1.保留本地文件更改并删除上次提交
git重置--软HEAD^

ffscu2ro

ffscu2ro2#

如果你想删除新添加的内容和已经暂存的文件(因此添加到索引中),那么你用途:

git reset --hard

如果你也想删除你最近的一次提交(是带有消息“blah”的那个),那么最好用途:

git reset --hard HEAD^

要删除未跟踪的文件(即尚未添加到索引的新文件)和文件夹,请用途:

git clean --force -d
9o685dep

9o685dep3#

如果你只想取消最后一次提交,使用这个:

git reset HEAD~

对我来说就像魅力。

6ss1mwsb

6ss1mwsb4#

git reset --hard将强制工作目录返回到上次提交并删除新的/更改的文件。

vsaztqbk

vsaztqbk5#

撤消本地文件自上次提交以来的更改的简单方法是将它们放置在新分支中:

git branch changes
git checkout changes
git add .
git commit

这会将更改保留在新分支中。返回原始分支,发现它回到最后一次提交:

git checkout master

新分支是一个很好的地方,可以练习不同的方法来恢复更改,而不会有弄乱原始分支的风险。

zpjtge22

zpjtge226#

你可以使用git revert HEAD^来还原一个提交,以还原到倒数第二个提交。你也可以使用id而不是HEAD^来指定要还原的提交。

相关问题