Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[软技能] 第17天 说说你对SVN和GIT的理解和区别 #57

Open
haizhilin2013 opened this issue May 2, 2019 · 9 comments
Open
Labels
软技能 软技能

Comments

@haizhilin2013
Copy link
Collaborator

第17天 说说你对SVN和GIT的理解和区别

@haizhilin2013 haizhilin2013 added the 软技能 软技能 label May 2, 2019
@AricZhu
Copy link

AricZhu commented Jul 6, 2019

SVN是集中式,GIT是分布式

@chenliwen123
Copy link

本地库的区别

@xcLtw
Copy link

xcLtw commented Sep 12, 2019

职业早期使用过 SVN,记得在windows上面一个小乌龟的图标,不太聪明的亚子。。

  1. svn是集中式的,允许单次下载单文件修改,因为对每个文件都有对应的.svn文件控制
  2. git是分布式的,每次clone都是获得一个完整的代码版本,可以不依赖服务器本地独立运行项目
  3. 个人感觉SVN除了集中带来的权限管理优势之外,其它被完爆,而且现在人们不缺少那点硬盘空间,来换取独立的自由

@blueRoach
Copy link

SVN和GIT都是代码版本控制的系统
SVN是集中式
GIT是分布式

@amikly
Copy link

amikly commented Nov 4, 2021

Git是分布式的,SVN是集中式的
Git复杂概念多,SVN简单易上手
Git分支廉价,SVN分支昂贵

@werty125
Copy link

SVN是集中式,所有版本数据都存在服务器上,协同开发者从服务器上同步更新或上传自己的修改,用户本地只有自己以前所同步的版本,如果不连网,用户就看不到历史版本验证问题,或在不同分支工作,而且数据都保存在一个单一的服务器,风险很大。
GIT是分布式,每次clone都是获得一个完整的版本数据,可以不依赖服务器本地独立运行项目。

@an31742
Copy link

an31742 commented Aug 19, 2023

关于SVN(Subversion)和GIT,它们都是版本控制系统,用于跟踪和管理软件项目的变化。它们在软件开发中起到了非常重要的作用,有一些共同点和区别:

  1. SVN(Subversion)
    SVN是一个集中式版本控制系统,它使用集中式存储来管理代码版本。在SVN中,代码存储在一个中央仓库中,团队成员通过向中央仓库提交更新来共享代码。SVN使用基于文件的方法来追踪代码变化,每次提交会创建一个新的版本。开发者可以通过更新(checkout)获取最新版本,然后进行修改,最后提交(commit)变更。

  2. GIT
    Git是一个分布式版本控制系统,它的核心思想是每个开发者都有一份完整的代码仓库副本。每次提交都会在本地生成一个快照,并且开发者可以在本地创建分支、合并分支等。Git强调分布式和本地性,因此开发者可以在没有网络连接的情况下进行工作,只有在需要与他人协作时才需要进行远程同步。

区别

  • 集中式 vs. 分布式:SVN是集中式的,代码存储在中央仓库中,而Git是分布式的,每个开发者都拥有完整的代码仓库。
  • 操作性能:由于Git的本地性质,许多操作(如提交、创建分支)通常比SVN更快。
  • 分支和合并:Git在处理分支和合并时更加灵活,因为每个分支都是一个完整的副本。SVN的分支合并相对较为繁琐。
  • 历史记录:Git的提交历史更加详细和灵活,因为每个提交都是一个完整的快照,而SVN的历史记录则以文件为单位。
  • 网络依赖:SVN在一定程度上依赖网络连接,因为代码存储在中央仓库中。Git可以在本地工作,并在需要时再同步远程仓库。

总的来说,SVN和Git各有优势,选择哪个取决于团队的需求和偏好。在分布式开发和灵活性方面,Git通常更受欢迎,而在一些传统的开发环境中,SVN可能仍然被使用。

@never123450
Copy link

SVN(Subversion)和 Git 是两种版本控制系统,用于管理和跟踪软件开发过程中的代码变更。它们有一些重要的区别:

  1. 中央式 vs 分布式:SVN 是一种中央式版本控制系统,所有的代码库和版本历史都存储在中央服务器上。而 Git 是一种分布式版本控制系统,每个开发人员都有一份完整的代码仓库,包括完整的版本历史记录。这使得 Git 在离线工作和分布式团队协作方面更加灵活和强大。

  2. 复制方式:SVN 在每次提交时,只记录差异(增量)的变更。而 Git 使用快照(Snapshot)的方式,每次提交都会创建一个完整的快照,这使得 Git 在查看历史记录和分支操作时更加高效。

  3. 分支和合并:在 SVN 中,分支和合并操作相对复杂,需要手动创建分支和进行合并操作。而 Git 在分支和合并方面非常强大和简便,支持快速创建和切换分支,并提供了强大的合并工具。

  4. 性能:由于 Git 的本地仓库包含完整的版本历史,因此在大型项目和大量文件的情况下,Git 的性能通常比 SVN 更好。

  5. 社区和生态系统:Git 拥有庞大的开源社区和丰富的生态系统,有许多工具和服务可供选择。而 SVN 的社区相对较小,生态系统相对较少。

总的来说,SVN 和 Git 都是常见的版本控制系统,但在分布式开发、分支管理和性能方面,Git 更加强大和灵活。对于大多数现代软件开发项目,Git 已成为首选的版本控制系统。

@lili-0923
Copy link

  • git是分布式的,SVN是集中式的,开发人员可以建立自己的分支,并在自己的分支上进行操作,减少了冲突
  • git可以在没有网络的情况下使用,从远程库clone一个到本地库,没有网络的情况下,可以将修改提交到本地库,等有网的时候再传上去。
  • git和SVN的版本控制,是通过.git和.svn文件,.git只是在本地的版本库的目录下存在,而.svn存在于每一个文件夹,当我们不需要版本控制的时候,要删除.svn很费时。
  • 版本号问题,svn有明确的版本号,git对于每一个版本,都通过SHA1算法生成一个唯一标示的码,方便追溯到之前的版本。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
软技能 软技能
Projects
None yet
Development

No branches or pull requests

10 participants