【问题标题】:Proper version control workflow for a mixture of repositories混合存储库的正确版本控制工作流程
【发布时间】:2014-11-06 02:28:55
【问题描述】:

非常感谢您对以下内容的反馈(我是Git 初学者)。我在GitHub 上有一个公开回购,用于我的论文研究的神器(主要是软件,用R 编写)。我想改编一个第三方GitHub repo,包含LaTeX 论文模板(基本上,我想定期同步 ,合并我想要/需要的更改)。我已经在我的主要项目目录结构中为手稿创建了相应的子模块。但是,现在我质疑这条路线是否是最好的(最优)。我的问题

1) 上述任务的正确工作流程是什么?

2) 将 branch 用于手稿(在主目录结构中)而不是 submodule 是否近似等效?我问这个问题的原因是,我在项目中使用的几乎所有工作的 IDE (RStudio) 似乎目前不支持子模块(等待团队确认),但它确实支持分支机构。如果这样的替换有意义,我是否仍然能够同步我现在的模板分支(主要是在只读模式下,但能够将一些更改推送到上游会很棒,也)。

【问题讨论】:

    标签: git github workflow git-branch git-submodules


    【解决方案1】:

    如果它不支持子模块,但您仍需要将更改推送到上游,您可以考虑使用 subtree
    请参阅“Apply gradle file from different repository”中的示例。

    如果您坚持使用子模块,请注意 submodule can automatically follow a branch

    【讨论】:

    • 感谢您的回答(支持并接受以下待定澄清)。如果我坚持使用子模块作为手稿,使用命令行,将下游与相应的 GitHub 存储库同步的正确方法是什么?处理这些问题的安全方法是什么:git-scm.com/book/en/Git-Tools-Submodules#Issues-with-Submodules?
    • @AleksandrBlekh 只是确保在更新子模块时索引是干净的(即:在更新子模块之前添加/提交/推送所有更改,以及是否有更改是,父 repo 也添加/提交/推送了更改的 gitink,如stackoverflow.com/a/25562380/6309 的第二部分所述)
    • @AleksandrBlekh 您可以转换现有子模块以使其跟随分支(无需删除和重做子模块定义):stackoverflow.com/a/18799234/6309
    • @AleksandrBlekh,是的,就是这个想法。注意:我之前评论中的链接没有直接在我的答案中。
    • @AleksandrBlekh 我今晚会检查一下。现在有点忙
    猜你喜欢
    • 2017-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多