初始化配置

1
2
git config --global user.name "markLee"
git config --global user.email "946768930@qq.com"

初始化仓库

1
git init

基本操作

1
2
// 添加文件到暂存区,可以多次添加多种文件
git add .
1
2
// 提交文件到分支
git commit -m "版本更新"
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
// 记住密码
git config --global credential.helper store

// 重命名分支
git branch -M master

// 查看当前仓库状态
git status

// 查看精简日志
git log --pretty=oneline

// 查看曾经输入的所有命令
git reflog

// 回退到指定commit
git reset --hard 887ef6b

// 回退到上一次commit
git reset --hard HEAD^

// 查看工作区和版本库内容区别
git diff HEAD -- readme.txt

// 撤销修改
1.git add之后撤销,回退到add后状态
2.git add之前撤销,和版本库状态一样
git checkout -- readme.txt

// 删除文件
git rm read.txt

// 生成公钥
ssh-keygen -t rsa -C "youremail@example.com"

// 关联远程仓库
git remote add origin git@github.com:michaelliao/learngit.git

// 删除远程仓库关联
git remote rm origin

// 推送代码
// -u 表达本地分支和远程分支相关联
git push -u origin master

// Linux与Windows换行符
git config --global core.autocrlf false

// 创建分支并切换
git checkout -b dev
git switch -c dev

// 创建本地及远程分支
git checkout -b dev origin/dev

// 列出所有分支
git branch

// 删除指定分支
git branch -d dev
git branch -D dev 强行删除,丢失未提交数据

// 把dev分支合并到当前分支
git merge dev

// 查看分支合并图
git log --graph

// 合并分支关闭fast forward模式
git merge --no-ff -m "merged bug fix 101" issue-101

// 当前分支已修改文件缓存一下
git stash

git stash list 查看当前缓存
git stash apply 恢复缓存
git stash drop 删除缓存
git stash pop 恢复并删除

git stash apply stash@{0} 恢复指定缓存

// 迁移指定commit
git cherry-pick 4c805e2

// 查看远程分支
git remote
git remote -v 详细信息

// 推送分支
git push origin master

// 本地分支关联远程分支
git branch --set-upstream-to=origin/dev dev

// 对指定提交打标签
git tag v0.9 f52c633

// 推送指定标签到远程仓库
git push origin v1.0

// 推送所有标签到远程仓库
git push origin --tags

// 删除指定标签
git tag -d v1.0

// 删除远程指定标签
git push origin:/refs/tags/v1.0

// 配置git命令别名
git config --global alias.st status

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"