跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

Git 从安装到协作:核心操作与实战指南

Git 版本控制工具的核心操作流程涵盖安装配置、基础命令使用、分支管理策略、远程仓库交互及多人协作场景。工作区与暂存区概念,演示文件增删改查、版本回退与冲突解决,并对比 Fast-forward 与 no-ff 合并模式。通过模拟多端协作环境,展示 Pull Request 流程及本地合并技巧,帮助开发者掌握 Git 在团队协作中的实际应用,避免常见错误。

城市逃兵发布于 2026/3/23更新于 2026/9/952 浏览
Git 从安装到协作:核心操作与实战指南

Git 从安装到协作:核心操作与实战指南

一、安装 Git(Ubuntu)

以 Ubuntu 24.04 为例,在终端中检查是否已安装 Git:

git --version

若已安装,会显示版本信息;若未安装,提示找不到命令。此时可执行以下命令安装:

sudo apt-get install git -y

安装完成后再次验证版本。如需卸载,可使用 sudo apt-get remove git -y。

CentOS 7 下使用 sudo yum install -y git,Windows 用户可从官网下载。

二、Git 的基本操作

创建 Git 本地仓库

Git 只能管理仓库内的文件。首先创建目录并初始化:

mkdir gitcode
cd gitcode/
git init

成功后会生成隐藏的 .git 目录,即本地仓库。可通过 ls -a 查看。

注意:不要手动修改 .git 目录下的文件,否则可能破坏仓库结构。

配置本地仓库

提交代码需记录身份,必须设置用户名和邮箱:

git config user.name "Your Name"
git config user.email "[email protected]"

查看配置列表确认:

git config -l

删除配置项示例:

git config --unset user.name

全局配置适用于当前系统所有仓库:

git config --global user.name "Your Name"
git config --global user.email "[email protected]"

删除全局配置时需加上 --global 参数。

认识工作区、暂存区、版本库

Git 通过三个区域管理文件状态:

  • 工作区:你编写代码的目录。
  • 暂存区:存放准备提交的文件索引。
  • 版本库:.git 目录,存储历史版本。

只有将文件添加到暂存区并提交到版本库,Git 才能追踪其变化。切勿手动移动文件到 .git 目录,应使用 git add 和 git commit。

添加文件

  1. 新建文件并使用 git add 加入暂存区:
touch ReadMe
vim ReadMe
git add ReadMe
  1. 提交到本地仓库:
git commit -m "提交的第一个文件"
  1. 查看历史提交记录:
git log --pretty=oneline

commit id 是 40 位字符,用于唯一标识每次提交。

修改文件

Git 跟踪的是修改而非文件本身。使用 git status 查看状态,git diff 查看差异:

git diff ReadMe
git diff HEAD -- ReadMe

修改后同样需 add 和 commit。

版本回退

使用 git reset 命令回退版本,参数决定影响范围:

  • --mixed(默认):回退版本库和暂存区,保留工作区修改。
  • --soft:仅回退版本库,暂存区和工作区不变。
  • --hard:全部回退,工作区未提交内容将丢失,慎用。

示例:

git reset --hard <commit-id>

若忘记 commit id,可用 git reflog 找回操作记录。

撤销修改

根据文件所在区域选择方案:

工作区暂存区版本库解决方法
xxx codegit checkout -- [file]
xxx codexxx codegit reset --mixed HEAD [file] + checkout
xxx codexxx codexxx codegit reset --hard HEAD^

删除文件

推荐使用 git rm 命令,它同时处理工作区和暂存区:

git rm file1
git commit -m "delete file1"

三、分支管理

Git 的时间线即为分支。默认主分支为 master,HEAD 指向当前分支。

创建分支

git branch dev

切换分支

git checkout dev

在 dev 分支修改并提交后,切回 master 不会看到变更,因为两者指向不同提交点。

合并分支

将 dev 合并到 master:

git checkout master
git merge dev

删除分支

git branch -d dev

若分支未合并,需用 -D 强制删除。

合并冲突

当同一文件在不同分支被修改时,合并会产生冲突。Git 会在文件中标记冲突块:

<<<<<<< HEAD
master 内容
=======
dev 内容
>>>>>>> dev

手动编辑文件保留所需内容,然后 add 并 commit 完成合并。

分支管理策略

合并模式
  • Fast-forward (ff):直接移动指针,不生成新 commit,适合线性开发。
  • no-ff:强制生成合并 commit,保留分支痕迹,适合需要追溯合并历史的场景。
Bug 分支

修复 bug 时,建议新建 fix_bug 分支。若当前工作区有未完成代码,使用 git stash 暂存,修复后再 pop 恢复。

四、远程仓库

远程仓库用于备份和协作,常见平台如 GitHub、Gitee。

克隆远程仓库

git clone https://gitee.com/user/repo.git

支持 HTTPS 和 SSH 协议。SSH 需配置公钥。

推送与拉取

  • 推送:git push origin master:master
  • 拉取:git pull origin master

Pull 相当于先 Fetch 再 Merge。

忽略特殊文件

创建 .gitignore 文件定义忽略规则:

*.so
*.ini
!important.so

配置别名

简化长命令:

git config --global alias.st status
# 之后可用 git st 代替 git status

五、标签管理

标签用于标记重要版本,类似书签。

创建与删除

git tag v1.0
git tag -d v1.0

也可指定 commit id 打标签:

git tag v0.9 <commit-id>

推送标签

git push origin v1.0
# 或一次性推送所有标签
git push origin --tags

删除远程标签需先删本地,再推送空引用:

git push origin :v1.0

六、多人协作

实际开发多为多人协作,需规范流程。

模拟准备

开发者 A 和 B 分别克隆同一仓库,基于远程 dev 分支开发。

协作流程

  1. 开发者 A 在本地 dev 分支修改并提交,推送到远程。
  2. 开发者 B 拉取最新代码,若发生冲突则解决后提交。
  3. 合并到 Master:
    • 方式一:通过 Pull Request (PR) 在线审核合并。
    • 方式二:本地合并 dev 到 master 后推送。

推荐采用 Feature 分支模式,每个功能独立分支,开发完成后通过 PR 合并至主分支,确保主干稳定。

注意:避免直接在 master 上开发,所有功能应在独立分支完成。

目录

  1. Git 从安装到协作:核心操作与实战指南
  2. 一、安装 Git(Ubuntu)
  3. 二、Git 的基本操作
  4. 创建 Git 本地仓库
  5. 配置本地仓库
  6. 认识工作区、暂存区、版本库
  7. 添加文件
  8. 修改文件
  9. 版本回退
  10. 撤销修改
  11. 删除文件
  12. 三、分支管理
  13. 创建分支
  14. 切换分支
  15. 合并分支
  16. 删除分支
  17. 合并冲突
  18. 分支管理策略
  19. 合并模式
  20. Bug 分支
  21. 四、远程仓库
  22. 克隆远程仓库
  23. 推送与拉取
  24. 忽略特殊文件
  25. 配置别名
  26. 之后可用 git st 代替 git status
  27. 五、标签管理
  28. 创建与删除
  29. 推送标签
  30. 或一次性推送所有标签
  31. 六、多人协作
  32. 模拟准备
  33. 协作流程

更多推荐文章

查看全部
  • AR 滤镜触发机制:基于特定图案识别激活特效
  • 前端防录屏原理:EME DRM 机制与实战代码
  • CVE-2026-21962 Oracle WebLogic 代理插件漏洞深度解析与防护方案
  • AI 智能体开发技术学习路径与职业前景分析
  • 阿里巴巴低代码引擎实战:构建企业级可视化开发平台
  • Windows 10 离线安装 WSL2 Ubuntu 22.04.5 LTS 简明教程
  • Qt5 C++ 多线程工业自动化上位机开发实践
  • C 语言代码优化与性能调优:编译器、内存与算法实战
  • VS Code Copilot 完整使用教程
  • VS Code 远程配置 GitHub Copilot 无法使用的排查与避坑指南
  • Web 安全入门:零基础漏洞挖掘学习指南
  • FPGA 实现高速数字信号处理:原理、架构与实战
  • GitOps 工作流核心概念与 Python 模拟实践
  • Copilot Pro 使用指南:模型配额与性价比策略
  • C++ 基础概念详解
  • 网络安全转行指南:零基础学习路径与职业规划建议
  • 基于 Python 数据分析瑞幸与星巴克全国门店分布及关联关系
  • 容器云环境下 etcd 集群数据安全与认证机制实践
  • C++ 模拟实现 list:双向链表构建与解析
  • Python 安装与环境配置实战指南

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online