Git分布式版本控制工具
@Author : LeonSong
@Date : October 10, 2025
一. Git工作流程
1.1 Git简介
git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
1.2 Git工作流程

主要命令如下:
| Order | Describe |
|---|---|
| clone | 从远程仓库克隆代码到本地仓库 |
| checkout | 从本地仓库中检出一个仓库分支然后进行修订 |
| add | 在提交前先将代码提交到暂存区 |
| commit | 提交到本地仓库,本地仓库中保存修改的各个历史版本 |
| fetch | 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少 |
| pull | 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于 fetch+merge |
| push | 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库 |
二 . Git安装及常用指令
2.1安装配置(MacOS)
通过Homebrew安装
检查homebrew

如果没有安装到 Homebrew for macOS 下载.pkg安装包安装,因为brew的官方源下载很慢,先进行换源
-
替换brew.git
-
替换brew-core.git
-
替换homebrew-bottles
上述指令执行完毕后,执行
换源之后第一次更新的速度比较慢,耐心等待,更新之后下载速度就会明显提升
安装Git并设置用户信息
检查一下是否安装成功

设置用户信息
执行以下命令查看是否配置成功

为常用指令设置别名
别名,就是给一串命令添加一个缩写,可以让终端自动识别,实现同样的功能
大家一般已经创建过~/.zshrc文件,位于/User/username目录下,在终端中打开文件
以下是一些示例,可以参照

2.2 基础指令

使用命令控制这些状态之间的转换
1.初始化git目录
git会将该目录初始化为本地git仓库,创建.git文件夹
2.将该仓库的改动放入暂存区,等待提交
3.提交暂存区的内容到本地仓库的当前分支
-m : message的缩写,后面跟描述信息
4.查看修改状态
5.查看提交记录
git log [options]
--all 显示所有分支
--pretty=oneline 将提交信息显示为一行
--abbrev-commit 使得输出的commitID更简短
--graph 以图的形式显示
6.版本切换
先使用git log命令查看commitID,也可以用git reflog查看已经删除的记录
添加文件到忽略列表
实际开发中,不是所有的项目文件都需要管理,
在当前目录下创建.ignore文件,把需要git忽略的文件名写入到.ignore文件中

分支
这里介绍一下分支的实际意义,主要包括以下方面:
- 隔离变化,保护主干
- 如果你的服务器上已经运行了一个网站,领导告诉你希望你添加一个与AI智能聊天的功能或者让你修复一个
Bug,你肯定不会在服务器上直接开发,你会想先把源码从服务器上拷贝到另一台机器上进行开发或者修复,然后用你做完的成品去替换掉原来的源码.有了Git之后,我们假设服务器上正在运行的项目是main分支,就可以创建一个feature分支用于开发,创建一个hotfix分支进行修改Bug,让开发,维护和服务都不受影响.
- 如果你的服务器上已经运行了一个网站,领导告诉你希望你添加一个与AI智能聊天的功能或者让你修复一个
-
团队协作
- 同样的,你成为了软件开发部门的主管,领导喊你们开发一个线上商城,你安排A做登录功能,安排B做购物车功能,安排C做推荐功能,每个人都有独立的分工,每个人都可以创建一个自己的分支如
feature/login,feature/shopCar,feature/recommend去独立工作,各自提交各自的代码,提交后发起代码审查,你审核之后觉得这些功能都OK了,再与main分支进行合并
- 同样的,你成为了软件开发部门的主管,领导喊你们开发一个线上商城,你安排A做登录功能,安排B做购物车功能,安排C做推荐功能,每个人都有独立的分工,每个人都可以创建一个自己的分支如
-
git branch查看本地分支

git branch branch_name创建名为branch_name的本地分支

git checkout branch_name切换分支

git chekout -b branch_name切换一个不存在的分支(创建并切换)

git merge branch_name一个分支上的提交可以合并到另一个分支
合并分支时,当前一定要在要合并到的那个分支



git branch -d[-D] branch_name删除分支,-d删除分支时需要做各种检查,-D为强制删除
注意:新建Gi仓库只有在执行第一次commit之后才会产生master分支,在第一次commit之前无法创建其他分支
解决冲突
当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,步骤如下:
- 处理文件中冲突的地方
- 将解决完冲突的文件加入到暂存区 (add)
- 提交到仓库 (commit)
# Demo
~/GitTest 目录下有一个Demo.txt文件
此时存在两个分支 /master
/dev01
master 分支下,Demo.txt内容是 Hello Demo Master
dev01 分支下,Demo.txt内容是 Hello Demo Dev01




三. Git远程仓库
1-公钥,私钥与数字签名
这里推荐知乎上的一篇文档,非常浅显易懂 https://zhuanlan.zhihu.com/p/698175888
接下来我会演示怎么配置GitHub 和 Gitee 的ssh密钥配置过程,对于没有Git仓库使用经验的,建议从Gitee(国内的代码仓库)用起,相比GitHub页面更加中文友好
对后续使用GitHub可以实现一个过渡作用,国内的话不用魔法使用GitHub是一件非常让人头疼的事情.
2-Gitee
预备工作,与GitHub适用
- 进入~/.ssh目录下,查看是否已经有密钥,我这里是公司的windows电脑,看到没有密钥存在

-
创建密钥

-
检查是否安装ssh的客户端,windows用户按win键搜索powershell以管理员身份运行执行

如果未安装:
安装后启动ssh客户端:
-
进入gitee,右上角进入我的设置后,左边选项栏选择ssh密钥

-
查看公钥并复制上去,标题自定义做好区分


-
修改一下~/.ssh/congfig配置文件
没有的话自行创建
添加以下内容,只有私钥路径需要替换成你自己的
-
选择一个本地仓库将仓库地址更改为
ssh形式,这里可以看到目前这个仓库用的是http
执行:
重新查看:

到此就已经完成
ssh密钥的配置了,现在可以尝试推送或拉取代码仓库了
3-GitHub
我累了,跟上面其实差不多...