安装并配置Git


Git基础命令

###1.配置用户信息

1
2
git config --global user.name "用户名"
git config --global user.email "用户邮箱"

####$\textcolor{red}{注意:如果使用了 –global 选项,那么该命令只需要运行一次,即可永久生效。}$

注意:如果使用了 –global 选项,那么该命令只需要运行一次,即可永久生效。

###2. 检查配置信息

1
2
3
4
5
# 查看所有的全局配置
git config --list --global

# 查看所有配置
git config -l

###3.基础操作

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
# 在现有目录中初始化仓库
git init

# 检查文件的状态
git status

# 以精简的方式显示文件状态
git status -s

# 跟踪新文件
git add

# 提交更新
git commit -m "提交信息"

# 撤销对文件的修改
git checkout -- index.html
#撤销操作的本质:用 Git 仓库中保存的文件,覆盖工作区中指定的文件

# 向暂存区中一次性添加多个文件
git add .

# 取消暂存的文件
git reset HEAD 要移除的文件名称

# 跳过使用暂存区域
git commit -a -m "信息描述"

# 移除文件
# ①从 Git 仓库和工作区中同时移除对应的文件
git rm -f index.js
# ② 只从 Git 仓库中移除指定的文件,但保留工作区中对应的文件
git rm --cached index.css

# 忽略文件

# 创建一个名为 .gitignore 的配置文件,列出要忽略的文件的匹配模式
# ① 以 # 开头的是注释
# ② 以 / 结尾的是目录
# ③ 以 / 开头防止递归
# ④ 以 ! 开头表示取反
# ⑤ 可以使用 glob 模式进行文件和文件夹的匹配

# glob 模式是指简化了的正则表达式

# ① 星号 * 匹配零个或多个任意字符
# ② [abc] 匹配任何一个列在方括号中的字符 (此案例匹配一个 a 或匹配一个 b 或匹配一个 c)
# ③ 问号 ? 只匹配一个任意字符 #④ 在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)
# ⑤ 两个星号 ** 表示匹配任意中间目录(比如 a/**/z 可以匹配 a/z 、 a/b/z a/b/c/z 等

# 查看提交历史

# 按时间先后顺序列出所有提交历史,最近的提交排在最上面
git log

# 只展示最新的两条提交历史,数字可以按需要进行填写
git log -2

# 在一行上展示最近两条提交的历史信息
git log -2 --pretty=oneline

# 在一行上展示最近的两条历史信息,并自定义输出的格式
# %h 提交的间歇哈希值 %an 作者的名字 %ar 作者修订日期,按多久以前的方式显示 %s 提交说明
git log -2 --pretty=format:"%h | %an | %ar | %s"

# 回退到指定的版本
# 在一行上展示所有的提交历史
git log --pretty=online

# 使用 git reset --hard 命令,根据指定的提交ID回退到指定版本
git reset --hard <CommitID>

# 在旧版本中查看命令操作的历史
git reflog -pretty=online

再次根据最新的提交ID,跳转到最新版本
git reset --hard <CommitID>



##Github相关操作

1.远程仓库的两种访问方式

Github 上的远程仓库,有两种访问方式,分别是 HTTPS 和 SSH。它们的区别是:

① HTTPS:零配置;但是每次访问仓库时,需要重复输入 Github 的账号和密码才能访问成功

② SSH:需要进行额外的配置;但是配置成功后,每次访问仓库时,不需重复输入 Github 的账号和密码

推荐使用 SSH 的方式访问远程仓库

###2.检测 Github 的 SSH key 是否配置成功

1
2
# 打开 Git Bash,输入如下的命令并回车执行:
ssh -T [email protected]

3.将远程仓库克隆到本地

1
2
# 打开 Git Bash,输入如下的命令并回车执行:
git clone 远程仓库的地址

Git 分支 - 本地分支操作

1.查看分支列表

1
2
# 使用如下的命令,可以查看当前 Git 仓库中所有的分支列表:
git branch

###2.创建新分支

1
git branch 分支名称

###3.切换分支

1
2
# 使用如下的命令,可以切换到指定的分支上进行开发:
git checkout login

4.分支的快速创建和切换

1
2
3
4
# 使用如下的命令,可以创建指定名称的新分支,并立即切换到新分支上:
# -b 表示创建一个新分支
# checkout 表示切换到刚才新建的分支上
git checkout -b 分支名称

5.合并分支

1
2
3
4
# 1.切换到 master 分支
git checkout master
# 2.在 master 分支上运行 git merge 命令,将login分支的代码合并到 master 分支
git merge login

6.删除分支

1
2
# 当把功能分支的代码合并到 master 主分支上以后,就可以使用如下的命令,删除对应的功能分支:
git branch -d 分支名称

7.遇到冲突时的分支合并

如果在两个不同的分支中,对同一个文件进行了不同的修改,Git 就没法干净的合并它们。 此时,我们需要打开 这些包含冲突的文件然后手动解决冲突。

1
2
3
4
5
6
7
# 假设: 在把 reg 分支合并到 master 分支期间代码发生了冲突
git checkout master
git merge reg

# 打开包含冲突的文件,手动解决冲突之后,再执行如下命令
git add .
git commit -m "解决了分支合并冲突的问题"

Git 分支 - 远程分支操作

###1. 将本地分支推送到远程仓库

如果是第一次将本地分支推送到远程仓库,需要运行如下的命令:

1
2
3
4
5
6
7
8
# -u 表示吧本地分支和远程分支进行关联,只有再第一次推送时需要带 -u 参数
git push -u 远程仓库名 本地分支名称:远程分支名称

# 实际案例
git push -u origin payment:pay

# 如果希望远程分支的名称和本地分支保持一致,可以对命令进行简化:
git oush -u origin payment

###2. 查看远程仓库中所有的分支列表

1
git remote show 远程仓库名称

###3. 跟踪分支

跟踪分支指的是:从远程仓库中,把远程分支下载到本地仓库中

1
2
# 从远程仓库中,把对应的远程分支下载到本地仓库中,保持本地分支和远程分支名称相同
git checkout

###4. 拉取远程分支的最新的代码

1
2
# 从远程仓库,拉取当前分支最新的代码,保持当前分支的代码和远程分支代码一致
git pull

5. 删除远程分支

可以使用如下的命令,删除远程仓库中指定的分支:

1
2
3
4
# 删除远程仓库中指定名称的远程分支
git push 远程仓库名 --delete 远程分支名称
# 示例:
git push origin --delete pay

总结


① 能够掌握 Git 中基本命令的使用

  • git init

  • git add .

  • git commit –m “提交消息”

  • git status 和 git status -s

② 能够使用 Github 创建和维护远程仓库

  • 能够配置 Github 的 SSH 访问

  • 能够将本地仓库上传到 Github

③ 能够掌握 Git 分支的基本使用

  • git checkout -b 新分支名称

  • git push -u origin 新分支名称

  • git checkout 分支名称

  • git branch