git和svn一些使用上的区别

1. 提交流程不同

  • SVN(集中式版本控制)

    • 只有一步:svn commit
    • 提交直接推送到中央服务器,立即对所有人可见。
    • 本地没有完整历史。
  • Git(分布式版本控制)

    • 分两步:
      1. git commit → 提交到本地仓库
      2. git push → 将本地提交推送到远程仓库(如 GitHub、GitLab)
    • 本地有完整历史

2. 分支机制不同

  • SVN

    • 分支是通过在仓库中复制目录 实现的(例如 /trunk/branches/feature-x)。
    • 虽然底层是"廉价拷贝"(只记录差异),但在用户视角上确实像"新建文件夹"。
    • 切换分支需切换工作目录路径(或重新 checkout),较重。
  • Git

    • 分支只是一个轻量级指针(指向某次提交)。
    • 创建分支:git branch feature-x(几乎瞬间完成)
    • 切换分支:git checkout feature-xgit switch feature-x(本地快速切换,不改变物理目录结构)
    • 所有分支共用同一个工作目录,切换时文件自动更新。

总结

  1. SVN 的 commit 直接同步到服务器,而 Git 先在本地 commit,再 push 到远程。
  2. SVN 的分支是物理路径上的复制,Git 的分支是轻量级的指针,无需新建文件夹。
相关推荐
吹牛不交税3 小时前
visualstudio把项目绑定git仓库
git
c238563 小时前
git常见错误和ssh验证推送
运维·git·ssh
火山上的企鹅3 小时前
Codex实战:APP远程升级服务搭建(四)Node 服务端自动识别 APK 信息
android·服务器·git·github·qgc
徐子元竟然被占了!!7 小时前
Git学习
git·学习·elasticsearch
l1o3v1e4ding8 小时前
windows安装Claude Code,并接入Deepseek-v4模型 ,提供离线安装包
git·npm·node.js·claude code·cc-switchcc
Dontla19 小时前
git bash打开Claude code报错:Claude Code on Windows requires git-bash.(别把git装其他位置,严格按照默认安装)找不到claude code
windows·git·bash
一个梦醒了19 小时前
安装git bash选项推荐
开发语言·git·bash
呆萌的代Ma1 天前
Git不强行推送,撤销最近几次的提交
git
透明的玻璃杯1 天前
git应用
git
炸炸鱼.1 天前
Git+Jenkins实战(一):从零搭建自动化发布与回滚系统(附完整代码)
git·jenkins