Git 的配置
#设置Git用户名
git config --gloable user.name "<your-full-name>
#设置Git邮箱
git config --gloable user.email "your -email-address
#确保Git输出内容带有颜色标记
git config --global color.ui auto
#对比显示原始状态
git config --globle merge.conflictstyle diff3
git config --list
#设置代码编辑器
git config --gloable core.editor "atom --wait"
some comments
git init
git clone
git status
#查看历史
git log
git log --oneline
git log --stat
-显示修改代码的数量
git log -p
或者git log --patch
- 显示修改了哪些代码
git log -p --stat
- 同时显示这两种信息
git log -p -w
忽视缩进的影响
以上命令还可以在最后增加SHA作为最后一个参数,从该commit开始查看
git shortlog
-查看美味贡献者有多少commits
git shortlog -s -n
-s仅显示commit数量,-n进行排序
git log --author=“ ”
-仅查看该作者的commit
git log --grep=" "
-使用关键字筛选commit的提交内容
git show
- 需要提供ID,也可以与--stat
,-p
,-w
连用
#分页器(less)
向下滚动
- 下箭头,一行
- j,一行
- d -一半滚动
- f - 整个屏幕,空格
向上滚动
- 上箭头,一行
- k - 一行
- u - 一半
- b -整个屏幕
q
-离开分页器
git add
-将更改的文件提交至暂存区
git .
-将目录下所有更改的问价都添加至暂存区
建立一个.gitignore文件,其中添加忽略的文件名称,当时用git .
时,将会忽略该文件
通俗符号速配:
空白行作为空格
#- 将行标记为注释
*- 与 0 个或多个字符匹配
? - 与 1 个字符匹配
[abc] - 与 a、b 或 c 匹配
** - 与嵌套目录匹配 - a/**/z 与以下项匹配
a/z
a/b/z
a/b/c/z
git diff
-查看未commit的更改
.gitignore
git tag
,或git tag -a
-添加标签,版本信息
git log --decorate
显示隐藏的标签
git tag -d 标签名称
-删除该标签
git tag -a 标签名称 SHA
-向之前的commit添加标签名称
git branch
-列出分支中所有分支的名称, 创建新的分支,删除分支
git branch 分支名称 SHA
- 创建分支,并命名,然后指向SHA的commit
git branch -d 分支名称
- 删除该分支
git branch -D 分支名称
-强制删除该分支
git checkout
-切换分支
git checkout -b 分支名称
-创建分支,并切换到该分支
git checkout -b 分支名称1 分支名称2
-创建分支,并切换到该分支,是分支1的起点位于分支2
git log --oneline --graph --all
查看所有分支的commit
git merge <name-of-branch-to-merge-in>
- 将该分支合并至现在的分支
git reset --hard HEAD^
- 撤销合并
git --amend
- 将使你能够重新提供 commit 消息
git revert <SHA-of-commit-to-revert>
-还原commit做的更改,并创建新的commit
git reset
-彻底删除commit,有--mixed
,--soft
,--hard
分别将commit存放于目录,暂存区,回收站
git reflog
删除后,git会跟踪30天,使用该命令,可以调取删除的commit
git rebase -i HEAD~3
-将几个commits合并为一个commit,-i
代表交互式