代码之家  ›  专栏  ›  技术社区  ›  Jhonny D. Cano -Leftware-

为什么我应该使用git而不是svn?

  •  33
  • Jhonny D. Cano -Leftware-  · 技术社区  · 15 年前

    我以前使用Visual Studio+C_,以前使用过SVN,但现在没有,所以我想再次将代码置于源代码的控制之下。

    最近我听说了git,我一直在读git wiki和 this this 我已经读到,没有像Tortoissesvn这样的Git的GUI客户端,或者至少,我还没有找到它们。

    我的问题是:

    • Git比SVN有什么优势
    • 在哪能找到适合Git的前端?
    • 有没有Git的插件(类似于Ankh)与Visual Studio一起工作?
    • 从Git开始,我还能在哪里找到资源?
    9 回复  |  直到 8 年前
        1
  •  23
  •   Community Bayu Bramantya    7 年前

    以下是我对Git和SVN的个人体验:

    • GIT vs SVN: Git跟踪源树的状态、历史和完整性。SVN只跟踪状态。

    尤其是在合并时,Git对存储历史的广泛使用(跨重命名和合并)非常方便,可以做出更明智的决策,从而减少冲突。

    通过存储库拥有一个完整的、加密的可验证完整性链,有助于在底层系统中建立信任,或者在它们失败时进行检测。不利的是,创建“干净”的补丁可能很复杂。有一个适当的工作流程会有所帮助。

    最后,Git默认在本地工作,这给了它难以置信的巨大提升,与SVN相比,SVN必须去中央回购几乎任何操作。

        2
  •  8
  •   Community Bayu Bramantya    7 年前

    有一个相关的 question 关于Git的工具,类似于Tortoise。

    讨论了Git与SVN的优势 over over 所以这里不应该有人详细说明

    至于一个Visual Studio插件,我认为在相当长的一段时间内不存在,也不会存在。不过,也许我错过了什么。

    尝试 here 有关如何在Windows中开始使用Git的好指南

    至于我的个人品味和观点,我继续坚持基于我个人对版本控制的需求的SVN,并且我认为SVN在工具和社区支持的另一个层面上。另外,我认为SVN非常成熟,这并不意味着Git不能完成工作。

        3
  •  8
  •   Dan Is Fiddling By Firelight Leniency    8 年前

    我不想讨论Git和SVN的优缺点,但这里有一组简单的比较: Why Git is better than X .

    一些好的Git资源:

    1. Git Ready . 一种关于Git初学者、中级和高级用途的博客。
    2. Git Magic . 你所能做的一切都很顺利。
    3. GitCasts screencasts -没有什么比看到它的实际行动来帮助你理解它的力量。包括有用的 Git On Windows 尖叫声

    玩得高兴!

        4
  •  5
  •   Andreas Grech    15 年前

    TortoisGit是可用的-只需谷歌它(我不记得网址)和:

    • 由于是分布式的,您不需要一直连接到服务器,只需要在本地工作, push 当你需要的时候。

    • 它很快,而且不需要太多的带宽

    • 而且,经典,如果它对Linus足够好,它对你足够好:)

    更新: Link to TortoiseGit

        5
  •  3
  •   Stefano Borini    15 年前

    我没用过git,但我用的是svn和bazaar(在哲学上和git类似),所以我可以用一般的术语回答你。

    所谓的分布式版本控制系统(DVC)的优势在于,repo和代码在您的机器上是在一起的,您不依赖于远程repo进行操作。每个开发商都有一个“分支机构”,即他承诺的回购协议的副本。您可以提交、还原、检查以前的修订,而不必连接到网络。知识库的正式性是根据人类的协议而非技术设置来授予的。在SVN中,您只有一个回购,即您和所有其他人承诺的回购。在DVC中,您承诺自己的回购,而另一个开发人员承诺自己的回购,并且每个人都可以在他愿意的时候将他的修改推到正式设计的回购上。

    另一个明显的优势是,数字视频监控系统的操作速度很快,非常迅速。当你开始有很多东西在回购时,SVN会变得异常缓慢。这很快就会变得烦人。

    从不利的方面来说,数字录像机更难使用,但是如果你愿意的话,你可以使用数字录像机作为中央录像机。

        6
  •  2
  •   Jon Adams    12 年前

    我不确定在这个阶段,托托利塞特的稳定性如何,当你谈论一些与探险家紧密结合的东西时,这是一个重要的考虑。有人能跟这个说话吗?

    还要记住,如果您在寻找分布式VCS的好处,那么Git并不是唯一的选择。Git有强大和复杂的双重优点。您可能会发现另一个DVC,如 Bazaar Mercurial 实现分布式系统好处的更简单的转换。都有 tortoise interfaces 在开发中,但我再次不确定它们的稳定性。(不过,Bazaar包含在他们的Windows软件包中,所以您会认为它处于一个相当好的阶段。)

    快速搜索也出现了 VisualHg Bzr-VisualStudio 尽管我不知道他们是否愿意在愤怒中使用。买者弃权。

        7
  •  2
  •   bahrep Ahamed    9 年前

    Git比SVN有什么优势

    在决定是使用Git还是SVN之前,请确保您完全理解您的需求,并理解Git和SVN提供的和支持。不幸的是,在Git和SVN主题上有很多不公平的偏见,正如我最近在 http://svnvsgit.com/ .

    我来举一个答案(@konstantinos):

    Git相对于SVN的优势被反复讨论,所以它不是 这里应该有人详细说明

    这个问题是近7年前提出的。但这个话题至少还是有点热。我最近偶然发现 http://svnvsgit.com 佩奇和我有点沮丧,因为我发现互联网上大多数的Git和SVN比较和测试都是基于一些奇怪的Intel,比如说Mozilla存储库在SVN中非常大。这根本不是真的,而且 http://git.or.cz/gitwiki/GitSvnComparsion 不公平或错误。

    或者这里引用@davidschmitt(其中一个回答者):

    git与svn:git跟踪源的状态、历史和完整性 树。SVN只跟踪状态。

    SVN和Git都能确保数据完整性(SVN在IMO中做得更好)。跟踪历史和状态。

    SVN和Git唯一的区别是,颠覆是集中的,Git是分散的。Subversion支持一些概念、工作流和案例,Git无法通过设计来支持。同时,Git的不连贯性对某些人来说可能是一个主要的好处。

    明智选择!

        8
  •  1
  •   Chris    8 年前

    Git现在似乎是版本控制、取代SVN和CVS等的行业标准。从用户的角度来看,Git产生了更多的功能,并帮助比SVN更好地管理代码更改。由于诸如 GitHub BitBucket 而不是需要自己的服务器。

    git很容易在命令行中运行(helfpul命令远比svn多)。还有一系列优秀的图形用户界面程序,帮助您为Git回购提供一个良好的前端, GitHub Desktop SourceTree 说出一对夫妇的名字。

        9
  •  0
  •   hoaphumanoid    9 年前

    正如其他人所指出的,Git更快更稳定。它是分布式的vs集中式的,在SVN中,如果你弄乱了中央回购,你会失去一切。根据我的经验,当您将代码与Git合并时,问题会更少。

    只有一件事我不喜欢。这是因为你不能用git下载存储库的一部分。如果你只需要一个文件夹,你需要下载所有的回购。你可以和SVN一起做。