我试图将git存储库的一部分推送到Heroku。
这是存储库结构
网站
---共享
--- site1
--- site2
------ shared(这是父目录中共享的符号链接)。
如果我尝试简单地在Heroku上推送site2
的内容,则捆绑包因未包含文件的shared
而失败。
我正在寻找一种方法,在Heroku上使用git子树发送shared
和site2
。
有什么建议吗?
答案 0 :(得分:0)
因此,您可能已经发现,尽管Git很乐意存储本身就是符号链接的文件(除非Windows上有些愚蠢),但Git并不存储 target 或符号链接的内容。您需要此存储库中共享文件夹的内容作为实际文件。
如果您可以将共享文件夹分离到其自己的Git存储库,则应该可以轻松使用Git subtree(请参见示例3)。
首先,在需要的地方建立新的存储库:
$ <go to the new location> $ git init --bare
返回原始目录:
$ git subtree split --prefix=shared --annotate="(split)" -b split
然后将新分支推送到新的空存储库中:
$ git push <new-repo> split:master
您现在应该将该子树添加/拉到子目录中。
git subtree add --prefix site2/shared <split-remote> master
如果您不想创建单独的存储库,则可以在拆分后停止,然后直接跳转到Subtree添加并使用该存储库中的拆分分支。
git subtree add --prefix site2/shared origin split