【问题标题】:Best Practice for following Subversion repository Trunk: Git (Mirror), Git-Svn, Subversion?遵循 Subversion 存储库主干的最佳实践:Git (Mirror)、Git-Svn、Subversion?
【发布时间】:2010-09-19 21:22:55
【问题描述】:

我想在 Mac OS X Leopard 10.5.5 机器上检查并根据需要更新Django Subversion trunk

我只对在我的 Mac 上更新 Django 代码感兴趣。我对为 Django 项目贡献补丁不感兴趣。我不需要 Django 主干的 Subversion 历史记录。

我计划将 Git 用作我所有个人项目的 DVCS/SCM。


使用最新的 Django 主干更新我的 Mac 的最佳做法是什么?为什么?

我是 Git 新手,因此了解您选择选项的原因将非常有帮助。

  1. 使用安装在我的 Mac 上的 Subversion 1.4.4:svn co http://code.djangoproject.com/svn/django/trunk/。本质上是使用 Subversion 为我的个人项目获取 Subversion 存储库和 Git。

  2. 使用 Git SVN 获取 Django Subversion repo。有关如何为 Git 新手执行此操作的说明?

  3. 使用 Git 获取 Git mirror of the Django repo。我有点担心镜子将来可能会消失,但如果它是最好的选择,我愿意使用它。

【问题讨论】:

    标签: django svn git git-svn


    【解决方案1】:

    迟到总比没有好......也许......我不得不不同意当前的获胜答案。我会选择

    1. 使用 Git 获取 Django 存储库的 Git 镜像

    关于反对它的论点:对 Git 感到(或想要)舒服的人,不应该觉得它“只是不必要的复杂性”。注意:对于某些人(不适用于我),该参数可能对 git-svn 案例有效。

    一些原因

    • 速度

    • 强大的查询(日志)和可视化(gitk 甚至更高级 表亲)

    • 大多数情况下磁盘空间较小

    • 平分 - 例如。尝试隔离回归,帮助提供更好的错误报告

    • 一致性 - 如果所有其他项目都在 git 中

    • 即使您还不打算做出贡献,也可以更轻松地尝试本地更改

    • 如果你改变主意 - 你仍然可以更接近做出贡献

    即使那个镜像消失了,你仍然可以切换到另一个镜像,无需再次克隆。

    顺便说一句,当前镜像在https://github.com/django/django,据说是官方的。

    【讨论】:

    • 您在 Github 上的 Django 存储库链接中缺少尾随的“O”。我无法进行一个字母的编辑。
    【解决方案2】:

    好吧,如果您在所有项目中都使用 git,并且您相当熟悉它,我建议您使用 git mirror,因为它看起来是最新的。 Git 也应该比使用 Subversion 更快。如果镜像消失/过时,您始终可以svn co / svn up 获取当前源。

    但由于您也安装了 Subversion - 您也可以直接使用它...不会有太大的不同,而且更多的是个人喜好问题。

    Git-svn 的设置和保持同步有点繁琐 - 你必须先使用 git svn fetch 获取颠覆更新,然后执行 git svn rebase 将更改应用到 git 存储库。它还会占用更多的磁盘空间。这有点容易出错,如果你真的想在源代码树上进行开发,我只建议使用 git-svn。如果您喜欢冒险并想尝试一下,请查看this Tutorial - 我发现使用 git-svn 非常有用。

    【讨论】:

    • 同意,我更喜欢 git 1) 速度 2) 强大的查询,可视化(gitk&it 甚至更高级的附加功能) 3) 一致性 - 如果所有其他项目都在 git 中 4) 在大多数情况下更少的磁盘空间5)即使您不打算做出贡献,您也可以轻松地在本地尝试更改..哦现在可能会添加我自己的答案:)
    【解决方案3】:

    如果您不打算更改 Django 代码,则没有理由将其导入 Git。只需使用选项 1。

    如果您想对使用 Subversion 的项目进行本地修改(无论您是否将任何这些修改发送回项目),使用 git-svn(通过自己运行或克隆其他人的存储库)很有用.但是,如果您不进行任何本地修改,那么它只是不必要的复杂性。

    【讨论】:

      【解决方案4】:

      我同意@cjm。如果你只是想要一份 Django 源代码的副本,请使用普通的 Subversion。

      我对 git-svn 的体验是,它对于喜欢和更熟悉 Git 且必须跟踪 Subversion 存储库的人最有用,而对于了解 Subversion 但想要 git 新手的人来说不是那么有用比颠覆更好的东西。 git-svn 有几个限制,因为 Subversion 的合并跟踪较差,除非你有丰富的 git 经验,否则这些限制有时会跳起来咬你。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-01
        • 1970-01-01
        • 2010-10-19
        • 1970-01-01
        • 2015-09-21
        • 1970-01-01
        • 2011-03-20
        • 1970-01-01
        相关资源
        最近更新 更多