当前位置: 首页 > news >正文

Git版本控制器

Git 版本控制核心用法指南

1. 基础配置与初始化

1.1 全局配置

在首次使用 Git 时,需要配置提交代码时的用户信息:
git config --global user.name “你的用户名”
git config --global user.email “你的邮箱”

1.2 仓库初始化

  • 新建本地仓库:在项目目录下执行git init,将当前目录变为 Git 可管理的仓库。
  • 克隆远程仓库git clone <仓库URL>,将远程代码完整下载到本地。

2. 核心工作流 (本地操作)

Git 的核心在于理解“工作区 -> 暂存区 -> 本地仓库”的流转。

2.1 查看状态

  • git status:查看当前工作区和暂存区的文件状态(哪些被修改、哪些未追踪)。

2.2 添加与提交

  • git add <文件名>:将指定文件添加到暂存区。
  • git add .:将当前目录下所有修改过的文件一次性添加到暂存区。
  • git commit -m "提交日志信息":将暂存区的内容正式提交到本地仓库,并附上说明。

2.3 查看历史

  • git log:查看详细的提交历史记录(包含时间、作者、日志信息)。
  • git reflog:查看 HEAD 指针的移动记录,常用于找回误删的提交。

3. 远程仓库交互

3.1 关联远程仓库

  • git remote add origin <远程仓库URL>:将本地仓库与远程仓库建立连接。
  • git remote -v:查看当前关联的远程仓库地址。

3.2 推送与拉取

  • git push origin <分支名>:将本地指定分支的提交推送到远程仓库。
  • git pull origin <分支名>:从远程仓库拉取最新代码,并与本地当前分支合并。
  • git fetch origin:仅拉取远程仓库的最新变更到本地,但不自动合并。
  • git checkout origin/<分支名> -- <文件路径/文件名>拉去指定分支的某个文件

拉取时,通常是一次拉取一整支分支,所以对于不同项目,我们一般为每个项目都会设置单独的仓库,每个分支存放不同状态的完整项目代码
例如:(main 分支:代表项目当前最稳定、随时可以上线的完整状态。
feature-login 分支:代表项目正在开发“登录功能”时的完整状态(可能代码还没写完,甚至有 Bug)。
feature-payment 分支:代表项目正在开发“支付功能”时的完整状态(和登录功能互不干扰)。)
这样是为了隔离不同时期功能的代码,防止互相影响,便于回滚和测试

4. 分支管理 (Branching)

分支是 Git 最强大的特性,允许在不影响主线(如 main 或 master)的情况下进行开发。

  • git branch:查看所有本地分支。
  • git branch <分支名>:创建一个新分支。
  • git checkout <分支名>:切换到指定分支。
  • git checkout -b <分支名>:创建并立即切换到新分支。
  • git merge <分支名>:将指定分支的代码合并到当前分支。

5. 进阶

5.1 提交信息规范 (Conventional Commits)

为了保持团队协作的一致性,建议采用结构化的提交信息:

  • feat: 新增用户登录功能(新功能)
  • fix: 修复支付模块的空指针异常(Bug修复)
  • docs: 更新 README 安装说明(文档修改)
  • refactor: 重构数据库连接池(代码重构)

5.2 撤销与重置

  • git reset HEAD <文件名>:将文件从暂存区移出(撤销 git add),保留工作区的修改。
  • git reset --soft HEAD~1:撤销最近一次 commit,但保留修改在暂存区,方便重新提交。

5.3 解决合并冲突

当两个分支修改了同一个文件的相同部分时,执行 merge 会触发冲突:
1. 打开冲突文件,找到 <<<<<<<、=======、>>>>>>> 标记。
2. 手动编辑文件,决定保留哪部分代码或删除冲突标记。
3. 执行 git add <冲突文件>,然后 git commit 完成合并。

5.4 注意事项

  • 不要混用工具:在建立仓库连接后,尽量一直使用 Git 命令行或统一工具,避免 Git 自带功能与其他版本控制工具混用导致报错。
  • 先建个人仓库:若已加入组织,务必先 Fork/建立自己的远程仓库,再将本地文件推送到自己的仓库,避免直接覆盖团队主干代码。
http://www.jsqmd.com/news/1247744/

相关文章:

  • 直播技术架构优化与数据驱动内容策略实战指南
  • {年份}佛山泡沫箱批发供应商实力测评,零套路不踩坑 - 工业品牌热点
  • 虚拟桌面切换
  • Claude Code Skills开发实践与效能提升指南
  • 海之元水剂和粉剂有什么区别?从剂型、使用方式和长期管理看重组人生长激素
  • 深度强化学习在光伏MPPT控制中的应用与优化
  • 深度学习进阶:模型优化与工业实践六大核心能力
  • Python+Pygame开发水上闯关游戏:物理模拟与碰撞检测实战
  • 劳力士苏州网点地址与客户服务热线2026年7月最新公示 - 劳力士服务中心
  • Linux下MrDoc私有化文档库部署与应用指南
  • Unity跨平台3D魔方开发实战:从数据结构到性能优化
  • AI提示词设计:从基础框架到高阶优化
  • 建议都去学吴恩达的AIAgent,他真的把我们当小孩教!!
  • TUSB系列8052芯片无JTAG调试:串口打印与Keil ISD51实战指南
  • 智能汽车芯片规模化部署:从算力池化到OTA升级的工程实践
  • 制造业ERP上线前要准备哪些基础数据?物料、BOM、工艺与库存检查清单
  • 怎么选比较好的美国签证办理培训机构 8个避坑要点
  • 高通FAS调度技术:提升移动设备性能与能效
  • Azure DevOps MCP Server提示注入漏洞:攻击复现、防御配置与企业审计实战指南
  • 游戏AI入门:从零构建决策树实现角色智能行为
  • LLM大模型系统学习指南:从理论到实践
  • 二分类图片分类算法:从原理到实践全解析
  • 卡地亚声明:南通地区最新网点地址及客服热线信息(2026年7月)售后保障 - 卡地亚官方售后中心
  • 推荐一家南坪网站SEO优化正规公司:2026年精选 - 品牌推广大师
  • 上下文窗口的预算分配:让 AI 编程助手在有限 token 下发挥最大价值
  • fastapi 小demo入门
  • 潍坊日常肌肤养护选择参考|肤色暗沉、痘感、薄皮护理与美业入行学习思路
  • Rectify 10X系统深度评测:安卓定制ROM的视觉与性能突破
  • 前端开发规范:提升团队协作与代码质量的关键实践
  • RocketMQ 事务消息概述:为什么需要事务消息