目录
1. 什么是 Git?
2. 为什么要系统地学 Git?
3. 什么是版本管理?
4. 集中式?分布式?
5. 安装
5.1. 安装 Git
5.2. 安装一个 Git GUI Client
6. Bash 基本操作命令
7. Git 配置
7.1. 查看配置
7.2. Git配置文件分类
8. 设置用户名与邮箱(用户标识)
9. 创建 Git 仓库
9.1. init 新仓库
9.2. clone 现有仓库
9.2. 查看仓库状态
10. 查看仓库的历史记录
10.1. 显示仓库的 commit
10.2. 简化 git log 的输出
10.3. 查看 git log 统计信息
10.4. 查看文件变更细节
11. 向仓库中添加 commit
11.1. git add
11.2. git commit
11.3. git diff
11.4. .gitignore
12. 标签、分支、合并
12.1. Tag
12.2. Branch
12.3. Merge
12.4. Merge Conflict
13. 撤销更改
13.1. 更改最后一个 commit
13.2. 还原 commit
13.3. 重置 commit
13.3.1. 引用 commit
13.3.2. 引用 commit
1. 什么是 Git?
Git 是目前世界上被最广泛使用的现代软件版本管理系统。Git 本身亦是一个成熟并处于活跃开发状态的开源项目,它最初是由 Linux 操作系统内核的创造者 Linus Torvalds 在 2005 年创造。今天惊人数量的软件项目依赖 Git 进行版本管理,这些项目包括开源以及各种商业软件。Git 在职业软件开发者中拥有良好的声誉,Git 目前支持绝大多数的操作系统以及 IDE(Integrated Development Environments)。
2. 为什么要系统地学 Git?
分享一个 Git 思维导图:
高清版下载:https://www.processon.com/mindmap/5f6eeefde401fd64b5dc1eee
3. 什么是版本管理?
版本管理就是管理更新的历史记录。它为我们提供了一些在软件开发过程中必不可少的功能,例如一款软件添加或更改源代码的过程,回滚到特定阶段,恢复误删除的文件等。
4. 集中式?分布式?
5. 安装
5.1. 安装 Git
5.2. 安装一个 Git GUI Client
6. Bash 基本操作命令
7. Git 配置
7.1. 查看配置
7.2. Git配置文件分类
8. 设置用户名与邮箱(用户标识)
当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中。
9. 创建 Git 仓库
9.1. init 新仓库
git init
9.2. clone 现有仓库
git clone https://github.com/webj2eedev/webj2ee-git-course.git
9.3. 查看仓库状态
git status
10. 查看仓库的历史记录
10.1. 显示仓库的 commit
10.2. 简化 git log 的输出
git log --oneline
10.3. 查看 git log 统计信息
git log 命令有一个选项可以用来显示 commit 中更改的文件以及添加或删除的行数。该选项为 --stat(stat 是“统计信息 statistics”的简称):
git log --stat
10.4. 查看文件变更细节
git log -p
11. 向仓库中添加 commit
11.1. git add
git add app.css
git add index.html
git status
11.2. git commit
git commit -m "新增HTML、CSS文件"
11.3. git diff
11.4. .gitignore
12. 标签、分支、合并
12.1. Tag
Git 可以给仓库历史中的某一个提交打上标签,以示重要。比较有代表性的是人们会使用这个功能来标记发布结点( v1.0 、 v2.0 等等)
12.2. Branch
这个视频不错哟
12.3. Merge
这个视频同样不错
git merge <name-of-branch-to-merge-in>
12.4. Merge Conflict
当相同的行在要合并的不同分支上做出了更改时,就会出现合并冲突。git 将在合并途中暂停,并告诉你存在冲突,以及哪些文件存在冲突。要解决文件中的冲突:
13. 撤销更改
13.1. 更改最后一个 commit
13.2. 还原 commit
当你告诉 git 还原(revert) 具体的 commit 时,git 会执行和 commit 中的更改完全相反的更改。
git revert <SHA-of-commit-to-revert>
此命令:
13.3. 重置 commit
一定要谨慎使用 git 的重置功能。这是少数几个可以从仓库中清除 commit 的命令。如果某个 commit 不再存在于仓库中,它所包含的内容也会消失。
先看个视频
13.3.1. 引用 commit
你已经知道可以使用 SHA、标签、分支和特殊的 HEAD 指针引用 commit。有时候这些并不足够,你可能需要引用相对于另一个 commit 的 commit。例如,有时候你需要告诉 git 调用当前 commit 的前一个 commit,或者是前两个 commit。我们可以使用特殊的“祖先引用”字符来告诉 git 这些相对引用。这些字符为:
我们可以通过以下方式引用之前的 commit:
^ 和 ~ 的区别主要体现在通过合并而创建的 commit 中。合并 commit 具有两个父级。对于合并 commit,^ 引用用来表示第一个父 commit,而 ^2 表示第二个父 commit。第一个父 commit 是当你运行 git merge 时所处的分支,而第二个父 commit 是被合并的分支。
13.3.2. git reset 命令
git reset <reference-to-commit>
学习资料:
https://try.github.io/ https://learngitbranching.js.org/?locale=zh_CN https://ohshitgit.com/ https://geeeeeeeeek.github.io/git-recipes/ https://dev.to/lydiahallie/cs-visualized-useful-git-commands-37p1 https://cn.udacity.com/course/version-control-with-git--ud123 https://chris.beams.io/posts/git-commit/
快捷连接:
Git 官网 https://git-scm.com/ Git 下载地址: https://git-scm.com/downloads Git GUI Clients 下载地址: https://git-scm.com/downloads/guis GitHub Desktop: https://desktop.github.com/