“How to use the git reset command”的版本间的差异

来自百问网嵌入式Linux wiki
(创建页面,内容为“Category:How_toCategory:Git”)
 
 
(未显示同一用户的1个中间版本)
第1行: 第1行:
 +
{{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>