git指南
deep-gotgit
git config 配置文件的三种级别
1 | # 版本库级别: |
添加修改配置文件参数
1 | git config a.b something |
不删除工作目录文件,仅删除暂存区的文件
1 | git rm --cached cached.txt |
跳过使用暂存区域直接提交
1 | git commit -a -m "不使用git add 直接提交" |
查找当前工作区的Git版本库位置
1 | $ pwd |
显示工作区根目录
1 | git rev-parse -- |
显示工作区根目录的相对目录
1 | $ cd source/_posts |
重新修改最新的提交, 改正作者和提交者的错误信息
1 | $ git commit --amend --allow-empty --reset-author |
精简查看日志
1 | git log --pretty=oneline |
精简格式的状态
1 | git status -s |
比较差异
1 | 工作区与提交暂存区(stage)对比: |
逐词比较
1 | git diff --word-diff |
文件追溯,找出谁修改过文件,由谁引入
1 | git blame README |
显示暂存区的目录树
1 | git ls-file -s |
通过Git日志重置master
1 | $ git reflog show master| head -5 |
撤回上一次commit提交, 工作区内容不改变
1 | git reset --soft HEAD^ |
查看当前 HEAD 的指向
1 | $ cat .git/HEAD |
挽救分离头指针
1 | # 1.在分离头指针的分支上查看并记录下提交 ID |
commit 后,想回到之前的状态,放弃最新的提交
1 | git reset --soft HEAD^ |
将暂存区的文件撤出(add 后的文件)
1 | # 撤出所有暂存区文件 |
清除本地修改
1 | $ git st -s |
删除本地多余文件或目录
1 | # 确保万一,先查询会删除哪些文件 |
创建里程碑
1 | git tag -m "Say bye-bye to all previous practice." old_pratice |
查看暂存区文件目录
1 | git ls-files |
查看历史版本的文件列表
1 | $ git ls-files --with-tree=HEAD^ |
查看历史版本中尚存的删除文件的内容
1 | git cat-file -p HEAD^:welcome.txt |
将(版本库追踪的)本地文件的变更全部记录到暂存区中
1 | git add -u |
从历史( HEAD^ 前一次提交)恢复指定文件
1 | 以下3种命令均可实现 |