谢谢你留下时光匆匆
Git学习笔记

本文为本人在学习、实践Git过程中,所接触的Git命令的笔记记录,可将本文当作Git cheat sheet,为之后使用Git提供参考上的便利。

命令按照廖雪峰博客中Git教程的顺序排列。在这里,对其工作表示感谢。在各种Git中文教程中,少有能结合具体工作场景介绍Git,往往侧重点放在Git的特点功能和相对应的命令上,使得初学者难以自然地接受。而廖大大的Git教程不仅清晰介绍出Git的主要功能,更将这部分功能相对的使用情形做出阐述,使读者更能体会出Git的用途,从而更好能学习Git。在这里强烈推荐将其作为Git入门教程。

Git初始化

1
2
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"

第一次安装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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#### 将当前工作路径变成本地git仓库 ####
$ git init

#### 将文件添加到缓存区 ####
$ git add
## 可一次添加多个文件

#### 进行一次commit,并进行备注 ####
$ git commit -m 'your comments'

#### 查看git状态, ####
$ git status

#### 查看文件变动 ####
$ git diff yourfile

#### commit 日志 ####
$ git log
$ git log --pretty=oneline

#### 回滚版本 ####
$ git reset --hard commit_id
## commit_id只用输入前n位能够区分就ok了

#### 回到之后的版本,查看之后版本的commit_id ####
$ git reflog

#### 撤回工作区修改 ####
# 回到暂存区或者上个commit点(如果没有commit)
$ git checkout -- file
# 撤销暂存区的修改
$ git reset HEAD file

#### 从版本库删除文件 ####
$ git rm file

#### 给commit提交标签 ####
$ git tag v1.0 (commit_id) 
$ git tag -a v1.0 -m 'your note'

#### 查看标签 ####
$ git tag

#### 删除标签 ####
$ git tag -d <tagname>

#### 推送标签到远程库 ####
$ git push origin <tagname>
$ git push --tags

#### 删除远程标签 ####
$ git push origin :refs/tags/<tagname>

远程操作

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#### 添加关联远程库 ####
$ remote add origin [email protected]:name/gitname.git
## origin 是远程库的名字 后面是在github中远程仓库地址

#### 推送 ####
$ git push -u origin master
## 第一次推送,远程库是空的时, -u选项会将本地master分支和远程仓库的master分支关联,方便后面使用。 

#### 克隆远程库 ####
$ git clone

分支操作

 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
#### 创建分支 ####
$ git branch branch_name

#### 切换分支 ####
$ git checkout branch_name

#### 创建并切换分支 ####
$ git checkout -b branch_name

#### 查看分支与当前分支 ####
$ git branch

#### 合并分支,合并指定分支到当前分支 ####
$ git merge branch_name

#### 以普通模式进行合并 ####
$ git merge --no-ff -m "your comments" branch_name

#### 删除指定分支 ####
$ git branch -d branch_name

#### 合并冲突分支 ####
手动修改冲突文件后add+commit,利用git log可查看合并情况

#### stash模式,临时保存当前工作区 ####
# 临时保存当前环境
$ git stash
# 看当前环境
$ git stash list
# 调取之前存储的环境
$ git stash pop
$ git stash apply stash@{0}
$ git stash drop

#### 强行删除某分支 ####
$ git branch -D branch_name

#### 与远程分支关联 ####
$ git branch --set-upstream branch_name origin/<branch_name>

Github使用

github使用ssh连接,与本地匹配需要将1.在本地生成ssh秘钥对2.将ssh公钥记录至Github账户上,具体操作如下:

1
2
3
Step 1. 创建秘钥对
$ ssh-keygen -t rsa -C "[email protected]"
Step 2. 将用户目录下.ssh文件id_rsa.pub复制到Github上