git 常用命令(持续更新)

150 阅读2分钟

如何查看git命令支持哪些参数

git --help//查看Git相关参数
git log --help//查看log相关参数
git diff --help//以此类推

执行完commit后,想撤回commit,怎么办?

写完代码后,我们一般这样

  1. git add . //添加所有文件

  2. git commit -m "本功能全部完成"//提交文件

如何撤回commit呢?

git reset --soft HEAD^

参数解读

  1. HEAD^ 等价于 HEAD~1 代表撤回最近一次commit

  2. HEAD~2代表撤回最近2次commit,以此类推

  3. --soft 不删除工作空间改动代码,撤销commit,不撤销git add .

  4. --hard 删除工作空间改动代码,撤销commit,撤销git add . 注意完成这个操作后,就恢复到了上一次的commit状态。

  5. --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