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 的分支是轻量级的指针,无需新建文件夹。
相关推荐
小喻yushi2 小时前
Git入门
git
大柏怎么被偷了2 小时前
【Git】基本操作
linux·运维·git
摇滚侠4 小时前
零基础小白自学 Git_Github 教程,Git 命令行操作2,笔记19
笔记·git·github
我是若尘5 小时前
Git Rebase深度解析:优雅重写提交历史的艺术
git
我是若尘5 小时前
Git合并踩坑记:当master回退后,如何正确合并分支?
git·代码规范
摇滚侠6 小时前
零基础小白自学 Git_Github 教程,Action CI/CD 完整实践,笔记23
笔记·git·ci/cd
minji...7 小时前
linux 进程控制(一) (fork进程创建,exit进程终止)
linux·运维·服务器·c++·git·算法
系夏普8 小时前
Git 入门教程:初始化、修改与提交
git
laplaya8 小时前
Git 使用技巧
git