ILD

git reset
作者:Herbert Yuan 邮箱:yuanjp@hust.edu.cn
发布时间:2018-5-19 站点:Inside Linux Development

git reset,reset当前HEAD到一个指定的状态。


语法:

git reset [-q] [<tree-ish>] <paths>...

git reset (--patch | -p) [<tree-ish>] [<paths>...]

git reset [ --soft | --mixed [- N] | --hard | --mrege | --keep ] [-q] [<commit>]


描述

git reset [-q] [<tree-ish>] <paths>...

reset index中所有paths路径到tree-ish状态。是git add <paths>的相反操作。如果tree-ish省略,则为当前HEAD。


git reset -p [-q] [<tree-ish>] <paths>...

手动选择模式,和git add -p相对。


git reset [<mode>] [<commit>]

将当前分支的头reset到<commit>,可以更新暂存区(reset到<commit>,以及工作区(依赖于mode)。如果mode没指定,默认为--mixed。


mode可以是下列值:

--soft

不更新index和工作区。


--mixed

更新index,不更新工作区。


--hard

更新index和工作区。所有工作区的改变将丢失。


--merge

更新index,更新<commit>和当前HEAD不同的文件,但是保留这些index和工作区不同的文件。如果<commit>和<HEAD>不同的文件,有未暂存的改动,reset将取消。


--keep

更新index,更新工作区中<commit>和HEAD不同的文件,如果这个文件有本地改动,reset将取消。

Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.