20

我正在从 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

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

感谢您的时间。

4

3 回答 3

34
  • SVN 主干 --- Git master (refs/heads/master)
  • SVN 分支/* --- Git 分支 (refs/heads/*)
  • SVN 标签/* --- Git 标签 (refs/tags/*)
于 2012-10-30T15:23:40.537 回答
16

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

git branch 
git tag
...

要获取更多信息,请使用git help命令或查看这本免费书籍

于 2012-10-30T15:17:13.187 回答
10

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

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

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

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

于 2012-10-30T15:20:50.193 回答