如何将工作目录外的文件夹添加到Git存储库?

时间:2011-06-09 08:49:33

标签: git

我有这样的目录结构:

main
|-- folderA
|-- folderB
      |
      |--- .git

不幸的是,我决定需要跟踪folderB中与folderB相同的存储库中的文件。

除了在folderB中创建符号链接外还有其他方法吗?

3 个答案:

答案 0 :(得分:4)

git mv将folderB的内容(.git目录除外)放入名为folderB的子文件夹中

main
|-- folderA
|-- folderB
      |
      |-- folderB
      |--- .git

mv folderA到folderB

main
|
|-- folderB
      |
      |-- folderA
      |-- folderB
      |--- .git

git addgit commit folderA

将顶级文件夹B重命名为temp

main
|
|-- temp
      |
      |-- folderA
      |-- folderB
      |--- .git

mv folderA,folderB和.git文件夹到顶级主要

main
|
|-- folderA
|-- folderB
|--- .git
|-- temp

删除临时文件夹。

答案 1 :(得分:0)

我想你可以将A作为包含B的主存储库,或者如果你需要某种你不清楚的分离,那么你可以将A作为存储库而将B作为子模块。

答案 2 :(得分:0)

如果folderAfolderB不是直接相互依赖,只是某个项目的某个部分,您可以将它们作为同一存储库的单独分支进行跟踪。

然后git-new-workdir是一个有用的工具,可以为同一个存储库提供两个工作目录(但具有不同的分支)。

当然,这仅适用于特殊情况 - 在一般情况下,您应该更好地使用Abizern的建议来移动文件夹。