版本控制工具

1. Git 基础

核心概念
  • 仓库(Repository):存储项目代码和历史记录的目录。
  • 提交(Commit):记录代码变更的快照,包含唯一哈希值、作者、时间和提交信息。
  • 分支(Branch) :独立开发线,默认分支通常为 mainmaster
  • 合并(Merge):将一个分支的变更整合到另一个分支。
  • 拉取/推送(Pull/Push):从远程仓库获取更新或将本地变更推送到远程。
常用命令
bash 复制代码
# 初始化仓库
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)。
平台差异
功能 GitHub GitLab
免费私有仓库 有限(现为免费) 一直免费支持
内置 CI/CD GitHub Actions GitLab CI/CD
社区生态 更庞大(开源项目首选) 企业级功能更丰富
部署灵活性 需第三方工具(如 Vercel) 内置 Kubernetes 集成

3. 典型工作流程示例

场景:修复 Bug 并提交
  1. 本地操作

    bash 复制代码
    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. 高级技巧

  • 撤销变更

    bash 复制代码
    git reset --soft HEAD~1  # 撤销提交但保留更改git checkout -- <文件>   # 丢弃文件修改
  • 交互式变基 (合并/重排提交):

    bash 复制代码
    git rebase -i HEAD~3
  • 子模块(Submodule) :嵌套管理其他 Git 仓库。

    bash 复制代码
    git submodule add <仓库URL>

5. 常见问题

  • 冲突解决 :合并时编辑冲突文件 → git addgit commit
  • 忽略文件 :创建 .gitignore 文件,列出需忽略的文件/目录(如 node_modules/)。
  • SSH 密钥配置:避免每次输入密码,生成密钥并添加到平台账户。
相关推荐
SelectDB16 小时前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
ApacheSeaTunnel19 小时前
当多表数据涌入,Apache SeaTunnel 如何巧妙化解主键冲突?
大数据·开源·数据集成·seatunnel·技术分享·数据同步
YuePeng19 小时前
写了五年注解的低代码框架,2.0 决定让你连注解都不用写了
github·产品
小白ai19 小时前
从"能 ping 通吗"到"为什么上不了网"——我写了一个网络故障诊断引擎
github
徐小夕21 小时前
jitword 协同文档3.2发布:打造浏览器中最强word编辑器
前端·架构·github
齐翊1 天前
分享一个在 Claude Code 里 [同时] 用多个 ApiKey 的方法
程序员·github·agent
A_Lonely_Cat1 天前
记一次 GitHub 幽灵协作者大清洗:强制重写 Git 历史与穿透 CDN 缓存实践
git·github
极光技术熊2 天前
Spring AI 从入门到精通:构建你的 AI 开发知识体系
后端·github
用户39483951075532 天前
怎么让我的 Agent 真正"懂"我?——关于记忆、经验学习与预测的一些真实体验
github
远航_2 天前
git submodule
前端·后端·github