【问题标题】:SVN to Git Branch/Tag/TrunkSVN 到 Git 分支/标签/主干
【发布时间】:2012-10-19 23:05:50
【问题描述】:

我正在从 SVN 飞跃到 Git(不过,我对 SVN 的尊重仍然存在),我对一些 SVN 到 Git 术语有一些疑问。在 SVN 中,很多仓库都是这样设置的:

- trunk  : The place where all of the main development occurs
- tag    : Storing versions of major releases or important milestones
- branch : Where smaller "branch" development occurs as to not conflict with the main development occurring in the trunk, then is later merged into the trunk

Git 中branch/tag/trunk 的标准约定名称是什么?

感谢您的宝贵时间。

【问题讨论】:

    标签: git svn tags branch trunk


    【解决方案1】:

    真的没有任何直接的类似物。 SVN 使用目录结构将副本直接存储在存储库中,以允许分支和标签。因此,需要创建一个结构来将这些副本保存在存储库中。

    另一方面,Git 将此作为元信息进行维护,并将所有内容视为由哈希标识的“时间”点的快照:

    Subversion 通过副本标记历史中的某些检查点,该副本通常放置在一个名为 tags 的目录中。 Git 标签更强大。 Git 标签可以附加任意描述(第一行在提交情况下是特殊的),有些人实际上将整个发布公告存储在标签描述中。标记的人的身份被存储(再次遵循与提交者身份相同的规则)。您可以标记提交以外的其他对象(但这在概念上是相当低级的操作)。并且可以对标签进行加密 PGP 签名以验证身份(根据 Git 的工作性质,该签名还可以确认相关修订、其历史记录和树的有效性)。

    所以基本上没有“存储库结构”;只有项目结构(即您可以在trunk、分支或 SVN 存储库中的标签中找到的内容)

    【讨论】:

      【解决方案2】:
      • SVN 主干 --- Git master (refs/heads/master)
      • SVN 分支/* --- Git 分支 (refs/heads/*)
      • SVN 标签/* --- Git 标签 (refs/tags/*)

      【讨论】:

      • 非常全面!谢谢!
      【解决方案3】:

      Git 不会强制您为项目使用特定的结构。 所有对 git 本身很重要的信息都将被存储 在隐藏的 .git 目录中。 要列出或查看您的分支和标签,请使用 git 命令:

      git branch 
      git tag
      ...
      

      要获取更多信息,请使用git help 命令或查看此免费book

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-14
        • 2017-04-08
        • 1970-01-01
        • 1970-01-01
        • 2011-03-19
        • 2019-09-13
        • 2012-07-03
        相关资源
        最近更新 更多