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 的分支是轻量级的指针,无需新建文件夹。
相关推荐
青山木4 小时前
快速搭建免费的个人博客网站:Hexo + GitHub Pages + Butterfly 完整指南
git·github
_阿伟_6 小时前
SVN简单使用教程
svn
江畔柳前堤7 小时前
第16章:docker企业级实战综合项目
运维·git·安全·docker·容器·eureka
偏爱自由 !7 小时前
一(0.1):配置git
java·git·intellij-idea
满天星83035778 小时前
【Git】原理及使用(八) (企业级开发模型)
git
console.log('npc')8 小时前
内外网协同多人开发指南(基于 develop测试环境 分支)
javascript·git
江畔柳前堤9 小时前
第15章:docker故障排查与面试题
大数据·运维·git·elasticsearch·docker·容器·eureka
山川而川-R9 小时前
dify、docker、Git在Windows安装教程_26.7.3
git
江畔柳前堤9 小时前
第07章:Docker 网络模型
运维·网络·git·elasticsearch·docker·容器·架构
老酒馆的馆长大人11 小时前
git入门级教程
git