From 2e987dea491cf75ba8432e71c9d6cbc76698bd6c Mon Sep 17 00:00:00 2001 From: Smart Ni <824291045@qq.com> Date: Sun, 30 Jul 2017 11:44:30 +0800 Subject: [PATCH 1/2] Updated README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🙂 你好,这份奇技淫巧总结得不错,因为工作正好用到,帮助你补充了一下。稍微修改了reset 部分的内容,请注意查收:) --- README.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 98bf0cc..3f12b41 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ Git是一个“分布式版本管理工具”,简单的理解版本管理工 * [clone下来指定的单一分支](#clone下来指定的单一分支) * [忽略某个文件的改动](#忽略某个文件的改动) * [忽略文件的权限变化](#忽略文件的权限变化) -* [展示本地所有的分支的commit](#展示本地所有的分支的commit) +* [以最后提交的顺序排序Git分支](#以最后提交的顺序排序Git分支) * [在commit log中查找相关内容](#在commit-log中查找相关内容) * [把暂存区的指定file放到工作区中](#把暂存区的指定file放到工作区中) * [强制推送](#强制推送) @@ -273,7 +273,13 @@ git revert ## 回到某个commit的状态,并删除后面的commit 和revert的区别:reset命令会抹去某个commit id之后的所有commit ```sh -git reset +git reset #默认就是-mixed参数。 + +git reset –mixed HEAD^ #回退至上个版本,只保留源码,回退commit和index信息 + +git reset –soft HEAD~3 #回退至三个版本之前,只回退了commit的信息,不会恢复到**暂存区**一级。如果还要提交,直接commit即可   + +git reset –hard #彻底回退到指定commit-id的状态,本地的源码也会变为上一个版本的内容 ``` ## 修改上一个commit的描述 @@ -505,8 +511,8 @@ git update-index --no-assume-unchanged path/to/file git config core.fileMode false ``` -## 展示本地所有的分支的commit -最新的放在最上面 +## 以最后提交的顺序排序Git分支 +最新的放在最上面 ```sh git for-each-ref --sort=-committerdate --format='%(refname:short)' refs/heads/ @@ -520,6 +526,7 @@ git log --all --grep='' ``` ## 把暂存区的指定file放到工作区中 +不添加参数,默认是-mixed ```sh git reset ``` From ec67e855cd89dfd86a93e3ddd648699d9db8866d Mon Sep 17 00:00:00 2001 From: Smart Ni <824291045@qq.com> Date: Sun, 30 Jul 2017 23:19:34 +0800 Subject: [PATCH 2/2] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 3f12b41..09d5d2f 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ Git是一个“分布式版本管理工具”,简单的理解版本管理工 * [clone下来指定的单一分支](#clone下来指定的单一分支) * [忽略某个文件的改动](#忽略某个文件的改动) * [忽略文件的权限变化](#忽略文件的权限变化) -* [以最后提交的顺序排序Git分支](#以最后提交的顺序排序Git分支) +* [以最后提交的顺序列出所有Git分支](#以最后提交的顺序列出所有Git分支) * [在commit log中查找相关内容](#在commit-log中查找相关内容) * [把暂存区的指定file放到工作区中](#把暂存区的指定file放到工作区中) * [强制推送](#强制推送) @@ -275,11 +275,11 @@ git revert ```sh git reset #默认就是-mixed参数。 -git reset –mixed HEAD^ #回退至上个版本,只保留源码,回退commit和index信息 +git reset –mixed HEAD^ #回退至上个版本,它将重置HEAD到另外一个commit,并且重置暂存区以便和HEAD相匹配,但是也到此为止。工作区不会被更改。 -git reset –soft HEAD~3 #回退至三个版本之前,只回退了commit的信息,不会恢复到**暂存区**一级。如果还要提交,直接commit即可   +git reset –soft HEAD~3 #回退至三个版本之前,只回退了commit的信息,暂存区和工作区与回退之前保持一致。如果还要提交,直接commit即可   -git reset –hard #彻底回退到指定commit-id的状态,本地的源码也会变为上一个版本的内容 +git reset –hard #彻底回退到指定commit-id的状态,暂存区和工作区也会变为指定commit-id版本的内容 ``` ## 修改上一个commit的描述 @@ -511,7 +511,7 @@ git update-index --no-assume-unchanged path/to/file git config core.fileMode false ``` -## 以最后提交的顺序排序Git分支 +## 以最后提交的顺序列出所有Git分支 最新的放在最上面 ```sh