Git 教程
欢迎来到这份详尽的 Git 教程,本教程将引导你从 Git 的基础开始,一直到一些高级特性的使用。
第一部分:Git 简介
Git 是什么
Git 是一个分布式版本控制系统,由 Linus Torvalds 创建,用于有效、高速地处理从小到大的项目。
为什么使用 Git
- 速度:Git 在合并、分支切换等操作上非常快。
- 效率:支持数千个并发用户协同工作。
- 安全性:通过 SHA1 哈希算法保护代码和历史完整性。
- 支持离线工作:可以在无网络的情况下工作。
- 分支和合并:支持快速、简便的分支和合并操作。
版本控制系统的基本概念
- 版本:项目的某个状态的快照。
- 提交:保存项目历史记录的操作。
- 分支:从某个点分叉出来的代码线。
- 合并:将两个或多个发展历史合并在一起的操作。
第二部分:安装和配置 Git
在不同操作系统上安装 Git
- 对于 Linux/Unix:
sudo apt-get install git
- 对于 macOS:
brew install git
- 对于 Windows:从 Git 官网 下载安装程序。
配置 Git 用户信息
1
2
|
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"
|
第三部分:创建和使用仓库
初始化新仓库
1
2
3
|
mkdir my_project
cd my_project
git init
|
克隆现有仓库
1
|
git clone https://github.com/user/repo.git
|
仓库结构介绍
第四部分:基本的 Git 工作流程
查看仓库状态
将文件添加到暂存区
提交更改到仓库
1
|
git commit -m "Commit message"
|
查看提交历史
第五部分:分支和标签
创建和切换分支
1
2
|
git branch <branch_name> # 创建新分支
git checkout <branch_name> # 切换到分支
|
合并分支
1
|
git merge <branch_name>
|
删除分支
1
|
git branch -d <branch_name>
|
使用标签
1
2
|
git tag <tag_name> # 创建标签
git checkout <tag_name> # 切换到标签
|
第六部分:分支策略
特性分支工作流程
Git Flow 和 GitHub Flow
- Git Flow:使用多个分支进行开发、发布、维护。
- GitHub Flow:使用单一的
master
分支和特性分支。
第七部分:解决合并冲突
合并冲突的原因
解决冲突的步骤
- 手动编辑冲突文件。
- 将更改添加到暂存区。
- 完成合并提交。
第八部分:远程仓库的使用
添加远程仓库
1
|
git remote add origin <repository_URL>
|
推送到远程仓库
1
|
git push -u origin <branch_name>
|
从远程仓库拉取
第九部分:高级 Git 技巧
交互式暂存
修改最近的提交
取消暂存区的更改
重置分支
1
|
git reset --hard <commit_hash>
|
第十部分:使用 Git 进行协作
协作的工作流程
- 克隆仓库。
- 创建特性分支。
- 提交更改。
- 创建 Pull Request 或 Merge Request。
- 讨论和审查代码。
- 合并分支。
代码审查
- 审查 Pull Request 或 Merge Request。
- 讨论代码更改。
- 批准或请求更改。
第十一部分:Git 工具和资源
图形用户界面(GUI)工具
- SourceTree
- GitHub Desktop
- GitKraken
Git 命令行工具
在线资源和社区
第十二部分:Git 故障排除
常见问题和解决方法
- 使用
git status
检查状态。
- 使用
git reflog
查看历史。
使用 git reflog
恢复丢失的提交
1
2
|
git reflog
git checkout <reflog_entry>
|
第十三部分:Git 安全性
保护你的凭证
使用 SSH 与 HTTPS
- 生成 SSH 密钥对。
- 添加 SSH 密钥到你的 Git 服务。
第十四部分:附录
Git 命令速查表
术语表