【Git】版本控制-Gitee
Git 介绍
Git 是一个分布式版本控制系统,主要用于高效管理各种规模的项目代码。与集中式版本控制系统(如 SVN)不同,Git 无需依赖中央服务器,每个开发者的本地仓库都包含完整的代码历史,可离线工作。
核心特点:
- 分布式架构:每个开发者拥有完整仓库,支持离线操作
- 版本快照:保存文件完整快照而非差异
- 分支管理:轻量级分支操作,支持并行开发
- 数据完整性:通过 SHA-1 哈希确保数据不被篡改
- 高效性能:对大型项目操作依然快速
基本概念:
- 工作区(Working Directory):本地可见的项目文件目录
- 暂存区(Staging Area):临时存放即将提交的变更
- 本地仓库(Local Repository):存储所有版本历史的数据库
- 远程仓库(Remote Repository):托管在网络上的共享仓库
常用命令:
# 初始化仓库
git init# 克隆远程仓库
git clone <url># 查看文件状态
git status# 添加文件到暂存区
git add <file> # 添加指定文件
git add . # 添加所有变更# 提交变更到本地仓库
git commit -m "提交说明"# 查看提交历史
git log# 推送本地变更到远程仓库
git push origin <branch># 拉取远程仓库更新
git pull origin <branch>
Gitee 介绍
Gitee(码云)是国内知名的代码托管平台,类似于 GitHub,但服务器位于国内,访问速度更快,更符合国内开发者习惯。
主要特点:
- 本土化服务:国内服务器,访问速度快,无需科学上网
- 代码托管:支持 Git/SVN 版本控制,免费提供私有仓库
- 协作功能:支持 Pull Request、Issue、代码评审等协作流程
- DevOps 工具:集成 CI/CD、代码质量分析等工具
- 企业服务:提供企业级私有部署和团队协作解决方案
优势:
- 适合国内团队协作,避免跨境网络问题
- 提供中文界面和文档,降低使用门槛
- 与国内开发工具(如 VS Code、IDEA)有良好集成
- 提供免费的私有仓库(有数量限制)
代码上传到 Gitee 的方法
VS Code 上传 Gitee(前后端通用)
步骤:
安装 Git 并配置
git config --global user.name "你的用户名" git config --global user.email "你的邮箱"
在 Gitee 创建仓库
登录 Gitee,点击右上角 "+" 号,选择 "新建仓库"
填写仓库名称,选择是否公开,点击 "创建"
复制这个远程仓库访问地址:
在编译器中操作(根据Gitee的步骤即可)
- 打开终端:Ctrl + ` (VS code)或 左侧侧边栏点击终端 (IDEA)
- 初始化仓库(如未初始化):
git init
- 添加远程仓库:
git remote add origin Gitee仓库地址(上面的地址)
- 验证关联是否成功:
git remote -v
添加文件到暂存区(选择需要提交的文件,
.
表示所有文件):git add .- 提交变更:输入提交信息,点击对勾或使用命令:
git commit -m "首次提交"
- 推送到远程:点击 "推送" 按钮或使用命令
git push -u origin master
(首次推送需要加-u
)
推送完成:
重启后代码正常管理:
开发中分支管理与操作
分支策略建议:
main/master
:主分支,保持稳定可发布版本develop
:开发分支,集成各个功能分支feature/*
:功能分支,如feature/login
bugfix/*
:修复分支,如bugfix/error-handle
release/*
:发布分支,如release/v1.0
常用分支操作命令:
# 查看所有分支
git branch # 本地分支
git branch -r # 远程分支
git branch -a # 所有分支# 创建新分支
git branch <branch-name># 切换分支
git checkout <branch-name>
# 或(Git 2.23+)
git switch <branch-name># 创建并切换到新分支
git checkout -b <branch-name>
# 或(Git 2.23+)
git switch -c <branch-name># 合并分支(当前分支合并目标分支)
git merge <branch-name># 推送本地分支到远程
git push -u origin <branch-name># 删除本地分支
git branch -d <branch-name># 删除远程分支
git push origin --delete <branch-name>
协作流程示例:
- 从
develop
分支创建功能分支:git switch -c feature/payment develop
- 在功能分支开发并定期提交
- 功能完成后,切换到
develop
分支:git switch develop
- 拉取最新代码:
git pull origin develop
- 合并功能分支:
git merge feature/payment
- 解决冲突后推送:
git push origin develop
Git 冲突解决
当多人修改同一文件的同一部分时,Git 无法自动合并,就会产生冲突。
解决步骤:
发现冲突:执行
git pull
或git merge
时,Git 会提示冲突文件查看冲突文件:冲突部分会被特殊标记包围:
<<<<<<< HEAD 你的修改内容 ======= 其他人的修改内容 >>>>>>> 分支名
解决冲突:
- 手动编辑文件,决定保留哪些内容,删除冲突标记(
<<<<<<<
、=======
、>>>>>>>
) - 在 VS Code 中可以使用 "接受当前更改"、"接受传入更改"、"接受两者更改" 等快捷按钮
- 手动编辑文件,决定保留哪些内容,删除冲突标记(
完成解决:
# 标记为已解决 git add <冲突文件># 完成合并提交 git commit -m "解决合并冲突"# 推送结果(如需要) git push origin <branch-name>
冲突预防建议:
- 经常拉取(pull)最新代码,减少冲突可能性
- 小步提交,频繁集成
- 团队成员分工明确,避免多人同时修改同一文件
- 使用
.gitignore
文件排除不需要版本控制的文件(如依赖、配置文件)