“How to use the git reset command”的版本间的差异
来自百问网嵌入式Linux wiki
Zhouyuebiao(讨论 | 贡献) |
Zhouyuebiao(讨论 | 贡献) |
||
第1行: | 第1行: | ||
{{DISPLAYTITLE:如何使用git reset命令}} | {{DISPLAYTITLE:如何使用git reset命令}} | ||
+ | |||
+ | : git reset 命令可将当前的 HEAD 重置到指定的状态。一般用于撤消之前的一些操作(如:git add,git commit等)。 | ||
+ | : 使用前先查看 git reset 的帮助信息: | ||
+ | <syntaxhighlight lang# "bash"> | ||
+ | book@www.100ask.org:~/tmp/Embedded-Linux-ADCMSE$ git reset -h | ||
+ | usage: git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>] | ||
+ | or: git reset [-q] <tree-ish> [--] <paths>... | ||
+ | or: git reset --patch [<tree-ish>] [--] [<paths>...] | ||
+ | |||
+ | -q, --quiet be quiet, only report errors | ||
+ | --mixed reset HEAD and index | ||
+ | --soft reset only HEAD | ||
+ | --hard reset HEAD, index and working tree | ||
+ | --merge reset HEAD, index and working tree | ||
+ | --keep reset HEAD but keep local changes | ||
+ | -p, --patch select hunks interactively | ||
+ | -N, --intent-to-add record only the fact that removed paths will be added later | ||
+ | |||
+ | book@www.100ask.org:~/tmp/Embedded-Linux-ADCMSE$ | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | = 放弃工作目录下的所有修改 = | ||
+ | git reset --hard HEAD | ||
+ | |||
+ | = 放弃某个文件的所有本地修改 = | ||
+ | git checkout HEAD <file> | ||
+ | |||
+ | = 将HEAD重置到上一次提交的版本,并抛弃该版本之后的所有修改 = | ||
+ | git reset --hard <commit> | ||
+ | |||
+ | = 将HEAD重置到上一次提交的版本,并将之后修改标记未未添加到缓存区的修改 = | ||
+ | git reset <commit> | ||
+ | |||
+ | = 将HEAD重置到上一次提交的版本,并保留未提交的本地修改 = | ||
+ | git reset --keep <commit> | ||
+ | |||
[[Category:How_to]][[Category:Git]] | [[Category:How_to]][[Category:Git]] |
2020年1月10日 (五) 15:41的最新版本
- git reset 命令可将当前的 HEAD 重置到指定的状态。一般用于撤消之前的一些操作(如:git add,git commit等)。
- 使用前先查看 git reset 的帮助信息:
book@www.100ask.org:~/tmp/Embedded-Linux-ADCMSE$ git reset -h
usage: git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]
or: git reset [-q] <tree-ish> [--] <paths>...
or: git reset --patch [<tree-ish>] [--] [<paths>...]
-q, --quiet be quiet, only report errors
--mixed reset HEAD and index
--soft reset only HEAD
--hard reset HEAD, index and working tree
--merge reset HEAD, index and working tree
--keep reset HEAD but keep local changes
-p, --patch select hunks interactively
-N, --intent-to-add record only the fact that removed paths will be added later
book@www.100ask.org:~/tmp/Embedded-Linux-ADCMSE$
目录
放弃工作目录下的所有修改
git reset --hard HEAD
放弃某个文件的所有本地修改
git checkout HEAD <file>
将HEAD重置到上一次提交的版本,并抛弃该版本之后的所有修改
git reset --hard <commit>
将HEAD重置到上一次提交的版本,并将之后修改标记未未添加到缓存区的修改
git reset <commit>
将HEAD重置到上一次提交的版本,并保留未提交的本地修改
git reset --keep <commit>