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

版本控制工具

1. Git 基础

核心概念
  • 仓库(Repository):存储项目代码和历史记录的目录。
  • 提交(Commit):记录代码变更的快照,包含唯一哈希值、作者、时间和提交信息。
  • 分支(Branch):独立开发线,默认分支通常为 main 或 master
  • 合并(Merge):将一个分支的变更整合到另一个分支。
  • 拉取/推送(Pull/Push):从远程仓库获取更新或将本地变更推送到远程。
常用命令
# 初始化仓库
git init

# 克隆远程仓库
git clone <仓库URL>

# 查看状态
git status

# 添加文件到暂存区
git add <文件名>  # 或 git add .

# 提交变更
git commit -m "提交信息"

# 查看提交历史
git log

# 创建分支
git branch <分支名>

# 切换分支
git checkout <分支名>  # 或 git switch <分支名>

# 合并分支
git merge <分支名>

# 拉取远程更新
git pull origin <分支名>

# 推送本地变更
git push origin <分支名>

2. GitHub/GitLab 的核心功能

共同点
  • 远程仓库托管:存储代码并支持多人协作。
  • Pull/Merge Request:提交代码变更请求,团队成员审核后合并。
  • Issue 跟踪:管理任务、Bug 报告和需求。
  • CI/CD 集成:自动化测试和部署(如 GitHub Actions、GitLab CI)。
平台差异
功能GitHubGitLab
免费私有仓库有限(现为免费)一直免费支持
内置 CI/CDGitHub ActionsGitLab CI/CD
社区生态更庞大(开源项目首选)企业级功能更丰富
部署灵活性需第三方工具(如 Vercel)内置 Kubernetes 集成

3. 典型工作流程示例

场景:修复 Bug 并提交
  1. 本地操作
    git checkout -b fix-bug-123  # 创建并切换到新分支
    git add .                    # 修改代码后暂存
    git commit -m "修复Bug #123"
    git push origin fix-bug-123  # 推送到远程
    
  1. 平台操作
    • 在 GitHub/GitLab 创建 Pull/Merge Request
    • 团队成员评审代码,通过后合并到 main 分支。

4. 高级技巧

  • 撤销变更
    git reset --soft HEAD~1  # 撤销提交但保留更改git checkout -- <文件>   # 丢弃文件修改
  • 交互式变基(合并/重排提交):
    git rebase -i HEAD~3
  • 子模块(Submodule):嵌套管理其他 Git 仓库。
    git submodule add <仓库URL>

5. 常见问题

  • 冲突解决:合并时编辑冲突文件 → git add → git commit
  • 忽略文件:创建 .gitignore 文件,列出需忽略的文件/目录(如 node_modules/)。
  • SSH 密钥配置:避免每次输入密码,生成密钥并添加到平台账户。

相关文章:

  • 树莓派超全系列文档--(8)RaspberryOS实用程序
  • 【C#.NET】VS2022创建Web API项目
  • Spark大数据分析与实战笔记(第四章 Spark SQL结构化数据文件处理-02)
  • D3802ACF:高精度 PSR LED 恒流驱动电路详解
  • L2-3 龙龙送外卖(天梯赛)
  • mysql5.7无法启动报错处理无日志
  • 吴恩达机器学习笔记复盘(十二)逻辑回归的梯度下降和拟合问题
  • 《基于python游戏设计与实现》开题报告
  • 如何用JavaScript验证身份证号码?
  • vue 使用v-model实现父子组件传值——子父组件同步更新
  • 数据库基础知识点(系列三)
  • 创新NDT解决方案:XARION激光超声系统助力航空航天材料的高效监测
  • xml文件
  • Codeforces Round 1013 (Div. 3)(A-F)
  • 程序化广告行业(36/89):广告投放全流程及活动设置详解
  • MinGW与使用VScode写C语言适配
  • UI前端与数字孪生:打造智慧城市的双引擎
  • Fegin 400错误分析
  • idea 没有 add framework support(添加框架支持)选项
  • [Lc4_dfs] 括号生成 | 组合 | 目标和
  • 巴菲特第60次股东大会开场点赞库克:他为伯克希尔赚的钱比我还多
  • 人民日报评论员:把造福人民作为根本价值取向
  • 特朗普执政百日集会吹嘘政绩,美国消费者信心指数跌至疫情以来最低
  • 69岁朱自强被查,曾任南京地铁总经理
  • 2025上海车展 | 当智驾不再让人兴奋,汽车智能化暗战升级
  • 西班牙葡萄牙突发全国大停电,欧洲近年来最严重停电事故何以酿成