繁体   English   中英

如何设置git以将另一个仓库的文件夹检出到我的仓库子目录中?

[英]How to setup git to checkout a folder of another repo into my repo subdirectory?

在我们的项目中,一个人正在编写普通的SCSS,其他人正在使用Rails应用程序。 我经常不得不将SCSS从简单的仓库中复制到Rails资产管道中。 该副本是准确的。 因此,我想知道如何设置git以便可以定期执行此操作? (尽可能方便)

好吧,我想git子模块就是您要寻找的功能。 请参阅https://git-scm.com/book/en/v2/Git-Tools-Submodules上的git文档

如果我有点犹豫,那是因为我一直认为用源代码控制软件引入依赖关系有点奇怪。 如果您可以通过构建工具自动执行此操作,那么我认为这可能是更自然的解决方案。 但是,如果将它作为git操作进行是适合您的方法,那么我会看上面的内容。

更新

评论中的后续问题:是否可以仅为另一个项目的子文件夹设置子模块?

所以我们有项目A

projectA/
    stuff/
    other-stuff/
    shared-stuff/

和项目B

projectB/
    more-stuff/
    unrelated-stuff/

并且我们希望projectA/shared-stuff也显示为projectB/shared-stuff/ ,我们正在谈论如何使用子模块来实现。

我不知道子模块可以比“嵌入该回购的提交”更具体。 但是一个建议是将共享代码拆分成自己的仓库

shared-stuff/

然后将共享的东西添加为项目A和项目B的子模块

projectA repo       | shared-stuff repo |  projectB repo
==================================================================
/                   |                   |  /
    stuff/          |                   |      more-stuff/
    other-stuff/    |                   |      unrelated-stuff/
    (shared-stuff)--> /                 <--    (shared-stuff)

当然,因为子模块映射包含在使用子模块的存储库中,所以文件夹名称(或父项目树中的位置)不必匹配...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM