git目录结构混乱

时间:2011-08-05 15:34:16

标签: git

来自svn背景,虽然不是那个高级用户,但我对git的目录结构感到困惑。

对于C ++项目,我阅读了在线专业书的前3章。我想这是一本非常好的书,有很多数字可以简化解释。

现在的问题是svn正在创建一个trunk目录,我的头和源代码位于其下(更确切地说,我是用svn命令创建它们),include和src目录。在前三章中,我没有看到这样的结构。问题是在这样的目录下构建你的工作的最佳策略是什么,应该创建不同的目录并将这些目录下的文件分别添加到跟踪控件中,还是有更结构化的方式来完成这个?

我想我不必把所有东西放在一个地方,这是非常不可能的......

3 个答案:

答案 0 :(得分:8)

您可以使用任何所需的文件夹结构。

如果你想拥有

myproject
  |-- src
  |-- include

没关系。 您(当然)不必将所有内容保存在一个地方

唯一的事情是(假设myproject是您的回购根),您将在其中存储一个.git文件夹,其中存储了回购数据:

myproject
  |-- .git
  |-- src
  |-- include

与SVN工作副本的每个文件夹中的.svn文件夹不同,Git仅使用这一个文件夹来跟踪回购。

答案 1 :(得分:7)

svn没有任何真正的标签和分支,一切都只是另一个文件或文件夹的副本。 git支持真正的分支,不需要类似于svn的目录结构。 只需创建项目所需的目录结构 - 分别使用git branchgit tag进行分支和标记(而不是使用subversion的svn copy命令)

答案 2 :(得分:3)

git明确区分了修订内容(目录树中排列的文件)和修订历史记录以及分支。

因此,典型的git用户不会创建trunk和branches等目录。一个提交实际上只包含属于此修订的文件。这完全取决于你的内容,没有git book会推荐它看起来像什么。

要查看修订历史记录,请使用工具gitk。

当然如果你真的想,你可以创建目录主干,分支等.. git不会抱怨。 SVN用户可能很高兴看到这样的回购,git用户可能没那么多。