如何掌握 Git 版本控制基础

GitGitBeginner
立即练习

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

简介

本全面的 Git 教程为开发者提供了在版本控制系统中管理文件的基本技能。通过探索 Git 的基本文件操作,学习者将获得在软件开发项目中有效暂存、跟踪和操作文件的实用知识。

Git 基础

版本控制简介

版本控制是软件开发中用于跟踪和管理变更的关键系统。Git 作为一种分布式版本控制系统,使开发者能够高效协作、管理代码历史并维护项目完整性。

Git 核心概念

什么是 Git?

Git 是一种分布式版本控制系统,允许多个开发者同时处理同一个项目。与集中式系统不同,Git 为每个开发者提供一个完整的本地仓库。

graph LR A[本地仓库] --> B[远程仓库] B --> C[协作]

Git 关键组件

组件 描述
仓库(Repository) 完整的项目历史和元数据
提交(Commit) 项目变更的快照
分支(Branch) 并行开发线路
远程(Remote) 外部仓库位置

Git 安装与配置

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

sudo apt update
sudo apt install git

配置你的 Git 身份:

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

创建 Git 仓库

初始化一个新仓库:

mkdir my_project
cd my_project
git init

此命令在当前目录中创建一个新的 Git 仓库,启用版本控制跟踪。

基本 Git 工作流程

  1. 对文件进行更改
  2. 暂存更改
  3. 提交更改
  4. 推送到远程仓库
## 暂存特定文件
git add filename.txt

## 暂存所有更改
git add.

## 提交更改
git commit -m "描述性提交消息"

## 推送到远程仓库
git push origin main

Git 文件操作

文件暂存与跟踪

Git 提供了强大的机制来管理仓库中的文件,允许对版本跟踪和变更管理进行精确控制。

将文件添加到仓库

将单个或多个文件添加到暂存区:

## 添加特定文件
git add filename.txt

## 添加多个文件
git add file1.txt file2.txt

## 添加当前目录下的所有文件
git add.

删除文件

从仓库和文件系统中删除文件:

## 从仓库和文件系统中删除文件
git rm filename.txt

## 从仓库中删除文件,但保留在文件系统中
git rm --cached filename.txt

文件状态与跟踪

graph LR A[未跟踪] --> B[已暂存] B --> C[已提交] C --> D[已推送]

常见文件操作

操作 命令 描述
检查状态 git status 显示文件更改
查看更改 git diff 显示未暂存的修改
提交文件 git commit -m "message" 保存已暂存的更改

提交更改

使用描述性消息提交已暂存的文件:

## 基本提交
git commit -m "添加新功能"

## 带有详细描述的提交
git commit -m "功能:用户认证
- 实现登录机制
- 添加密码验证"

忽略文件

创建 .gitignore 文件以排除特定文件:

#.gitignore 示例
*.log
node_modules/
secret.txt

协作式 Git 工作流程

分支策略

分支是协作开发的基础,它支持并行工作和独立的功能开发。

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

分支管理

高效地创建和管理分支:

## 创建新分支
git branch feature-login

## 切换到分支
git checkout feature-login

## 在一条命令中创建并切换
git checkout -b feature-authentication

协作工作流程类型

工作流程 描述 用例
Gitflow 结构化分支模型 大型复杂项目
分叉工作流程 独立的仓库副本 开源贡献
功能分支 独立的功能开发 基于团队的开发

合并策略

使用不同的方法合并分支:

## 标准合并
git merge feature-branch

## 变基合并
git rebase main

## 压缩合并
git merge --squash feature-branch

拉取请求工作流程

模拟协作式拉取请求流程:

## 将功能分支推送到远程
git push -u origin feature-branch

## 通过 GitHub/GitLab 界面创建拉取请求
## 进行代码审查
## 批准后合并

冲突解决

系统地处理合并冲突:

## 识别冲突
git status

## 手动解决冲突
## 编辑带有冲突标记的文件
git add resolved_file.txt
git commit

总结

理解 Git 文件操作对于高效的版本控制和协作式软件开发至关重要。通过掌握诸如文件暂存、提交更改以及管理仓库内容等技术,开发者能够简化工作流程、维护代码完整性,并加强分布式团队之间的项目协作。