git 回退

git reset

1. git reset [-q] [<commit>] [--] <path>

带有路径path时,path如果和引用或commitID同名,可在path前加 --

<commit>里的<path>文件,替换暂存区中的文件,工作区和版本库不变      省略commit则为HEAD

2. git reset [--soft | --mixed | --hard | --merge | --keep] [-q] [<commit>]

HEAD指向的引用重置为commit  省略commit则为HEAD

--soft 改变版本库

--mixed 改变版本库、暂存区(默认)

--hard  改变版本库、暂存区、工作区

 

git checkout

1. git checkout [-q] [<commit>] [--] <path>

带有路径path时,path如果和引用或commitID同名,可在path前加 --    path为.表示全部文件

<commit>里的<path>文件,替换暂存区和工作区中的文件,版本库不变      省略commit则为index

2. git checkout [<commit>]

HEAD指向commit,并覆盖版本库、暂存区、工作区,需要在clean状态下才能操作

如果没有引用指向commit,那么处于“分离头指针”状态

commit为引用时,即切换分支,    省略commit或者commit为HEAD,相当于进行状态检查

3. git checkout [-m] [[-b|--orphan] <new_branch>] [<start_point>]

主要用来创建和切换到新分支   git checkout -b dev

新分支指向start_point这个commit

如果只有一个远程库origin,底下有一个develop分支,本地没有develop分支,

那么git checkout develop会创建并切换到develop分支,并与origin/develop关联

如果有多个远程库,那么需要git checkout -b develop origin/develop

posted @ 2020-05-26 18:38  是的哟  阅读(142)  评论(0)    收藏  举报