Git教程详解

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:Git 用来存储所有版本信息的目录。

第四部分:基本的 Git 工作流程

查看仓库状态

1
git status

将文件添加到暂存区

1
git add <file>

提交更改到仓库

1
git commit -m "Commit message"

查看提交历史

1
git log

第五部分:分支和标签

创建和切换分支

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. 手动编辑冲突文件。
  2. 将更改添加到暂存区。
  3. 完成合并提交。

第八部分:远程仓库的使用

添加远程仓库

1
git remote add origin <repository_URL>

推送到远程仓库

1
git push -u origin <branch_name>

从远程仓库拉取

1
git pull

第九部分:高级 Git 技巧

交互式暂存

1
git add -i

修改最近的提交

1
git commit --amend

取消暂存区的更改

1
git reset HEAD <file>

重置分支

1
git reset --hard <commit_hash>

第十部分:使用 Git 进行协作

协作的工作流程

  • 克隆仓库。
  • 创建特性分支。
  • 提交更改。
  • 创建 Pull Request 或 Merge Request。
  • 讨论和审查代码。
  • 合并分支。

代码审查

  • 审查 Pull Request 或 Merge Request。
  • 讨论代码更改。
  • 批准或请求更改。

第十一部分:Git 工具和资源

图形用户界面(GUI)工具

  • SourceTree
  • GitHub Desktop
  • GitKraken

Git 命令行工具

  • 使用 git 命令行工具。

在线资源和社区

第十二部分:Git 故障排除

常见问题和解决方法

  • 使用 git status 检查状态。
  • 使用 git reflog 查看历史。

使用 git reflog 恢复丢失的提交

1
2
git reflog
git checkout <reflog_entry>

第十三部分:Git 安全性

保护你的凭证

  • 使用凭据存储。

使用 SSH 与 HTTPS

  • 生成 SSH 密钥对。
  • 添加 SSH 密钥到你的 Git 服务。

第十四部分:附录

Git 命令速查表

  • 列出常用 Git 命令和它们的用法。

术语表

  • 解释 Git 术语。
使用 Hugo 构建
主题 StackJimmy 设计