全面的 Git 教程:从基础到高级分支策略

GitGitBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

本全面的 Git 教程为开发者提供了一份完整指南,助其理解并运用 Git 进行版本控制。从基础设置与配置到高级分支策略,本教程涵盖了现代软件开发的必备技能,使程序员能够有效地跟踪变更、在项目中协作并管理代码版本。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/CollaborationandSharingGroup(["Collaboration and Sharing"]) git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/SetupandConfigGroup -.-> git/init("Initialize Repo") git/SetupandConfigGroup -.-> git/clone("Clone Repo") git/BasicOperationsGroup -.-> git/add("Stage Files") git/BasicOperationsGroup -.-> git/commit("Create Commit") git/BranchManagementGroup -.-> git/branch("Handle Branches") git/BranchManagementGroup -.-> git/checkout("Switch Branches") git/BranchManagementGroup -.-> git/merge("Merge Histories") git/BranchManagementGroup -.-> git/log("Show Commits") git/CollaborationandSharingGroup -.-> git/push("Update Remote") subgraph Lab Skills git/init -.-> lab-392933{{"全面的 Git 教程:从基础到高级分支策略"}} git/clone -.-> lab-392933{{"全面的 Git 教程:从基础到高级分支策略"}} git/add -.-> lab-392933{{"全面的 Git 教程:从基础到高级分支策略"}} git/commit -.-> lab-392933{{"全面的 Git 教程:从基础到高级分支策略"}} git/branch -.-> lab-392933{{"全面的 Git 教程:从基础到高级分支策略"}} git/checkout -.-> lab-392933{{"全面的 Git 教程:从基础到高级分支策略"}} git/merge -.-> lab-392933{{"全面的 Git 教程:从基础到高级分支策略"}} git/log -.-> lab-392933{{"全面的 Git 教程:从基础到高级分支策略"}} git/push -.-> lab-392933{{"全面的 Git 教程:从基础到高级分支策略"}} end

Git 基础与设置

版本控制系统简介

版本控制系统(VCS)是现代软件开发中的关键工具,它使开发者能够跟踪变更、高效协作并管理项目历史记录。Git 作为最流行的分布式版本控制系统脱颖而出,具备强大的代码修改跟踪功能。

在 Ubuntu 22.04 上安装 Git

要在 Ubuntu 上安装 Git,请使用以下命令:

sudo apt update
sudo apt install git

验证安装:

git --version

Git 配置

使用全局设置配置你的 Git 身份:

git config --global user.name "你的名字"
git config --global user.email "[email protected]"

配置级别

级别 范围 命令
全局 所有仓库 git config --global
系统 整个机器 git config --system
本地 当前仓库 git config --local

基本 Git 工作流程

graph LR A[工作目录] --> B[暂存区] B --> C[本地仓库] C --> D[远程仓库]

创建新仓库

初始化一个新的 Git 仓库:

mkdir my-project
cd my-project
git init

创建你的第一个提交:

touch README.md
git add README.md
git commit -m "初始提交"

理解 Git 概念

Git 使用基于快照的方法来跟踪变更,存储完整的文件版本而不仅仅是差异。每个提交代表项目历史中的一个特定点,便于回滚和版本跟踪。

Git 分支策略

理解 Git 分支

Git 中的分支代表独立的开发线路,使开发者能够同时处理不同功能,而不会干扰主代码库。

创建和管理分支

创建一个新分支:

git branch feature-login
git checkout feature-login
## 或者,在一条命令中完成
git checkout -b feature-login

列出现有分支:

git branch
git branch -a ## 显示所有分支,包括远程分支

分支管理工作流程

graph LR A[主分支] --> B[功能分支] B --> C[代码开发] C --> D[拉取请求] D --> E[代码审查] E --> F[合并到主分支]

常见分支策略

策略 描述 使用场景
功能分支 为每个功能创建单独的分支 单个功能开发
Gitflow 使用 develop 和 master 分支的结构化分支策略 复杂项目管理
基于主干的开发 频繁合并到主分支 持续集成

合并分支

将功能分支合并到主分支:

## 切换到主分支
git checkout main

## 合并功能分支
git merge feature-login

## 合并后删除功能分支
git branch -d feature-login

处理合并冲突

当发生冲突变更时,Git 需要手动干预:

## 识别冲突
git status

## 手动编辑冲突文件
## 将冲突标记为已解决
git add <冲突文件>
git commit

高级分支操作

变基功能分支:

git checkout feature-login
git rebase main

此策略通过集成主分支的最新变更,有助于维护干净、线性的项目历史记录。

高级 Git 操作

远程仓库管理

将本地仓库连接到远程仓库:

git remote add origin
git remote -v ## 列出远程仓库

推送和拉取代码

graph LR A[本地仓库] -->|推送| B[远程仓库] B -->|拉取| A

将变更推送到远程仓库:

git push origin main
git push -u origin feature-branch

拉取最新变更:

git pull origin main

高级检出操作

操作 命令 描述
切换分支 git checkout branch-name 更改当前工作分支
创建分支 git checkout -b new-branch 创建并切换到新分支
恢复文件 git checkout -- filename 丢弃本地更改

暂存变更

临时保存未提交的变更:

git stash save "进行中的工作"
git stash list
git stash pop
git stash apply

Git 日志和历史记录

探索仓库历史记录:

git log
git log --oneline
git log --graph

高级提交管理

交互式变基:

git rebase -i HEAD~3

标记发布版本

创建并管理版本标签:

git tag -a v1.0 -m "版本 1.0 发布"
git push origin v1.0
git tag ## 列出标签

仓库清理

删除不必要的文件:

git clean -fd
git gc ## 垃圾回收

总结

通过掌握 Git 的核心概念、安装过程和分支技术,开发者能够显著改进他们的软件开发工作流程。本教程为学习者提供了创建仓库、管理分支以及理解版本控制原则的实用技能,最终提升代码管理和协同开发能力。