是否可以在存储库中克隆存储库并仅提交到内部存储库?

时间:2021-06-18 15:34:57

标签: node.js typescript git gitlab exec

我正在使用 typescript、react、node.js 和 express。在我的节点服务器中,我调用 execSync 来克隆另一个存储库,向其中添加文件,然后推送这些更改。类似的东西:

execSync("git clone <sub-repo> <path-to-sub-repo> \
    && cd <path-to-sub-repo> \
    && git checkout -b <branch-name>");

alterSubRepoFiles(<path-to-sub-repo-file>, content);

execSync("cd <path-to-sub-repo> \
    && git add . \
    && git commit -m \"some message here\" \
    && git push --set-upstream origin <branch-name>);

然而,推送部分总是失败。经过进一步检查,我发现此代码在 外部 存储库而不是 内部 存储库中创建分支。

有关实现此功能的任何建议或提示将不胜感激。如果有更简洁的方法来实现这一点,我也将不胜感激。

注意:两个存储库都托管在 gitlab 上。

1 个答案:

答案 0 :(得分:0)

是的,是的。

最内部的 repo 将作为它自己的 repo。为了更安全,我会要求您在外部存储库的 .gitignore 文件中添加最内部存储库,这样您就不会意外地添加带有 {{1} 的内部存储库(目录) }}