目录

git 常见用法

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

# 查看特定 commit 的修改
git show [commit]
# 查看特定 commit 特定文件 的修改
git show [commit]:[filename]

# 查看一个文件的历史提交
git log -p [filename]

# 查看远程仓库地址
git remote -v

# 单个文件退回特定版本
git reset [commit] [filename]

# 提交时显示所有diff信息
git commit -v

# 使用一次新的commit,替代上一次提交 (important)
# 如果代码没有变化,则用来改写上一次commit的提交信息
git commit --amend -m [message]

# 切到上一个分支
git checkout -

# 选择一个分支,合并进当前分支
git cherry-pick [commit]

# 删除远程分支
git push origin --delete [branch-name]

# 显示暂存区与工作区的差异
git diff

# 设置个人信息
git config --global user.name "wanger"
git config --global user.email wanger@example.com

有意思的用法

1
2
3
4
5
6
7
8
9

# 显示所有提交过的用户,按提交次数排序
git shortlog -sn

# 显示指定文件是么时间什么人修改过
git blame [file]

# 10天内改了多少代码
git diff --shortstat "@{10 day ago}"

常见快捷方式

一行代码 add commit push

1
2
3
4
5
6
7

# 打开 .bashrc,添加如下:
function lazygit() {
    git add .
    git commit -a -m "$1"
    git push
}

显示 git 提交树

1
2
3
4

# .gitconfig 添加如下:
[alias]
        lg = log --graph --pretty=format:'%C(yellow)%d%Creset %C(cyan)%h%Creset %s %Cgreen(%cr)     %C(bold blue)<%an>%Creset' --abbrev-commit --date=short