为了账号安全,请及时绑定邮箱和手机立即绑定

如何将Git托管项目中的所有本地更改恢复到以前的状态?

如何将Git托管项目中的所有本地更改恢复到以前的状态?

Git
开心每一天1111 2019-10-23 15:07:20
我有一个运行的项目git init。经过几次提交后,我git status告诉我所有内容都是最新的,并且没有本地更改。然后,我进行了几次连续更改,意识到我想扔掉所有东西并恢复到原始状态。这个命令会帮我吗?git reset --hard HEAD
查看完整描述

3 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

如果要还原对工作副本所做的更改,请执行以下操作:


git checkout .

如果要还原对索引所做的更改(即已添加的内容),请执行此操作。警告这会将您所有未推送的提交重置为master!:


git reset

如果要还原已提交的更改,请执行以下操作:


git revert <commit 1> <commit 2>

如果要删除未跟踪的文件(例如,新文件,生成的文件):


git clean -f

或未跟踪的目录(例如,新目录或自动生成的目录):


git clean -fd


查看完整回答
反对 回复 2019-10-23
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

注意:您可能还想运行


git clean -fd


git reset --hard

将不删除未跟踪文件,其中为git的清洁将从跟踪根目录不在下git的跟踪中删除任何文件。警告-请务必小心!首先使用git-clean进行空运行会很有帮助,以查看它将删除什么。


当您收到错误消息时,这也特别有用


~"performing this command will cause an un-tracked file to be overwritten"

这可能会在执行多项操作时发生,一种是当您和您的朋友都添加了一个同名的新文件时更新工作副本,但他先将其提交到了源代码管理中,并且您不必担心删除未跟踪的副本。


在这种情况下,进行空运行还将帮助您显示将被覆盖的文件列表。


查看完整回答
反对 回复 2019-10-23
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

重新克隆

GIT=$(git rev-parse --show-toplevel)

cd $GIT/..

rm -rf $GIT

git clone ...

s删除本地非推送的提交

还原对跟踪文件所做的更改

s恢复已删除的跟踪文件

s删除列出的文件/目录.gitignore(如构建文件)

s删除未跟踪且不在其中的文件/目录 .gitignore

?您不会忘记这种方法

?浪费带宽

以下是我每天都会忘记的其他命令。


清理并重置

git clean --force -d -x

git reset --hard

s删除本地非推送的提交

还原对跟踪文件所做的更改

s恢复已删除的跟踪文件

s删除列出的文件/目录.gitignore(如构建文件)

s删除未跟踪且不在其中的文件/目录 .gitignore

清洁

git clean --force -d -x

s删除本地非推送的提交

还原对跟踪文件所做的更改

s恢复已删除的跟踪文件

s删除列出的文件/目录.gitignore(如构建文件)

s删除未跟踪且不在其中的文件/目录 .gitignore

重启

git reset --hard

s删除本地非推送的提交

还原对跟踪文件所做的更改

s恢复已删除的跟踪文件

s删除列出的文件/目录.gitignore(如构建文件)

s删除未跟踪且不在其中的文件/目录 .gitignore

笔记

确认以上所有条件的测试用例(使用bash或sh):


mkdir project

cd project

git init

echo '*.built' > .gitignore

echo 'CODE' > a.sourceCode

mkdir b

echo 'CODE' > b/b.sourceCode

cp -r b c

git add .

git commit -m 'Initial checkin'

echo 'NEW FEATURE' >> a.sourceCode

cp a.sourceCode a.built

rm -rf c

echo 'CODE' > 'd.sourceCode'

也可以看看


git revert 进行新的提交以撤消先前的提交

git checkout 及时返回到先前的提交(可能需要先运行以上命令)

git stash与git reset上述相同,但是您可以撤消它


查看完整回答
反对 回复 2019-10-23
  • 3 回答
  • 0 关注
  • 1755 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信