1. Git 简介

Git 是一个分布式版本控制系统,用于跟踪文件的更改。它允许多人协同工作,。并且可以随时回溯到之前的版本。Git 的主要特点包括:

  • 版本控制: 记录文件的所有更改历史。
  • 分支管理: 允许多个开发分支并行工作。
  • 分布式: 每个开发者都有完整的代码仓库副本。
  • 快速高效: 适用于大型项目。

2. Git 安装

在不同的操作系统上安装 Git 的方法如下:

  • Windows:
    1. 访问 Git for Windows 下载安装程序。
    2. 运行安装程序,按照提示完成安装。
  • macOS:
    1. 使用 Homebrew:brew install git
    2. 或者下载安装程序:Git for macOS
  • Linux (Debian/Ubuntu):
    1. sudo apt update
    2. sudo apt install git
  • Linux (Fedora/CentOS):
    1. sudo dnf install git

安装完成后,可以通过以下命令验证 Git 是否安装成功:

1
git --version

3. Git 常用命令

以下是 Git 常用命令的列表:

  • git init 初始化一个新的 Git 仓库。
  • git clone <url> 从远程仓库克隆代码。
  • git add <file> 将文件添加到暂存区。
  • git commit -m "<message>" 提交暂存区的更改。
  • git status 查看仓库状态。
  • git log 查看提交历史。
  • git diff 查看文件的更改内容。
  • git branch 查看、创建和删除分支。
  • git checkout <branch> 切换到指定分支。
  • git merge <branch> 将指定分支合并到当前分支。
  • git pull 从远程仓库拉取代码。
  • git push 将本地代码推送到远程仓库。
  • git remote add origin <url> 添加远程仓库。
  • git remote -v 查看远程仓库信息。
  • git reset --hard <commit> 回退到指定提交。

4. Git 工作流程

Git 的基本工作流程如下:

  1. 初始化仓库: 使用 git initgit clone 创建本地仓库。
  2. 修改文件: 在本地修改文件。
  3. 添加到暂存区: 使用 git add 将更改添加到暂存区。
  4. 提交更改: 使用 git commit 提交暂存区的更改。
  5. 推送代码: 使用 git push 将本地代码推送到远程仓库。
  6. 拉取代码: 使用 git pull 从远程仓库拉取最新代码。

5. Git 分支管理

分支是 Git 中非常重要的概念,它允许多个开发分支并行工作。

  • 创建分支:
1
git branch <branch_name>
  • 切换分支:
1
git checkout <branch_name>
  • 创建并切换分支:
1
git checkout -b <branch_name>
  • 合并分支:
1
2
git checkout <target_branch>
git merge <source_branch>
  • 删除分支:
1
git branch -d <branch_name>

6. Git 远程仓库

远程仓库是存储在服务器上的 Git 仓库,用于团队协作和代码备份。

  • 添加远程仓库:
1
git remote add origin <remote_url>
  • 查看远程仓库:
1
git remote -v
  • 推送代码到远程仓库:
1
git push origin <branch_name>
  • 从远程仓库拉取代码:
1
git pull origin <branch_name>

7. Git 团队协作

Git 提供了强大的团队协作功能,允许多人协同开发。

  1. 克隆仓库: 团队成员克隆远程仓库到本地。
  2. 创建分支: 每个成员在自己的分支上进行开发。
  3. 提交更改: 将本地更改提交到自己的分支。
  4. 推送分支: 将自己的分支推送到远程仓库。
  5. 发起合并请求(Pull Request): 将自己的分支合并到主分支。
  6. 代码审查: 团队成员审查代码。
  7. 合并代码: 将代码合并到主分支。

8. Git 常见问题

  • 解决冲突: 当多个分支修改了同一部分代码时,会产生冲突。需要手动解决冲突,然后提交更改。
  • 撤销更改: 可以使用 git resetgit revert 撤销之前的提交。
  • 忽略文件: 可以使用 .gitignore 文件忽略不需要跟踪的文件。