是否可以将子目录中的.git目录添加到git?

时间:2016-08-27 18:25:33

标签: git

我有需要外部git项目的repo但是我不想使用子模块,因为我想在github上存档所有文件所以我想我只是添加git repo到git的整个目录但是它不要添加内部的.git目录。

是否可以将该目录添加到git?

2 个答案:

答案 0 :(得分:3)

两种解决方案:

  1. mv .git git然后归档文件夹。
  2. 压缩依赖项.git文件夹,然后将其归档。
  3. 最近我开始喜欢#1,因为这允许我导航并与非二进制文件交互。作为一个副作用,Git /我的商店/其他团体为我存档的东西,通过识别'样板回购'文件和字符串可以更有效地利用空间。

    还有#1,如果我以后想把这个目录变成回购,我可以 - 完整的历史记录!

答案 1 :(得分:3)

即使您可以找到将.git目录添加到您的仓库的工作,也不应该这样做。相反,您应该将文件直接添加到您的仓库。如果您愿意,可以使用一点git-foo来维护更改历史记录。从要添加外部git项目的repo文件夹中,执行以下操作

git checkout master
git remote add external <directory or URL for the external repo>
git pull external master

这会将外部仓库中的master分支合并到您当前的仓库中。您还可以使用类似

的方式从外部仓库中签出任何分支
git checkout -b external/master external/master

现在您可以从当前项目进行更改或合并。你可以继续使用你想要的任何git命令。