如何查看git命令支持哪些参数
git --help//查看Git相关参数
git log --help//查看log相关参数
git diff --help//以此类推
执行完commit后,想撤回commit,怎么办?
写完代码后,我们一般这样
-
git add . //添加所有文件
-
git commit -m "本功能全部完成"//提交文件
如何撤回commit呢?
git reset --soft HEAD^
参数解读
-
HEAD^ 等价于 HEAD~1 代表撤回最近一次commit
-
HEAD~2代表撤回最近2次commit,以此类推
-
--soft 不删除工作空间改动代码,撤销commit,不撤销git add .
-
--hard 删除工作空间改动代码,撤销commit,撤销git add . 注意完成这个操作后,就恢复到了上一次的commit状态。
-
--mixed 意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的
git log 相关命令
| 选项 | 说明 |
|---|---|
-p | 按补丁格式显示每个更新之间的差异。 |
--word-diff | 按 word diff 格式显示差异。 |
--stat | 显示每次更新的文件修改统计信息。 |
--shortstat | 只显示 --stat 中最后的行数修改添加移除统计。 |
--name-only | 仅在提交信息后显示已修改的文件清单。 |
--name-status | 显示新增、修改、删除的文件清单。 |
--abbrev-commit | 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。 |
--relative-date | 使用较短的相对时间显示(比如,“2 weeks ago”)。 |
--graph | 显示 ASCII 图形表示的分支合并历史。 |
--pretty | 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)。 |
--oneline | --pretty=oneline --abbrev-commit 的简化用法。 |
-(n) | 仅显示最近的 n 条提交 |
--since, --after | 仅显示指定时间之后的提交。 |
--until, --before | 仅显示指定时间之前的提交。 |
--author | 仅显示指定作者相关的提交。 |
--committer | 仅显示指定提交者相关的提交。 |
--no-merges | 去除merge信息 |
如何查看哪些文件被提交过
git log --name-only <diffBranch>
例如你想知道当前分支相对于master修改了哪些文件 git diff --name-only master