如何解决将子模块推送给人而无法访问子模块路径?
我有多个私有存储库,这些存储库组合成1个组存储库,在其中使用子模块提取更改。
有权访问组存储库但不能访问我的私人存储库的人不能 <div class="modal fade" id="my_modal" role="dialog" data-backdrop="static" data-keyboard="false">
...
<select class="ui fluid search dropdown" multiple="">
<option value="">Skills</option>
<option value="angular">Angular</option>
<option value="css">CSS</option>
<option value="design">Graphic Design</option>
<option value="ember">Ember</option>
<option value="html">HTML</option>
</select>
</div>
,因为他们会遇到“访问被拒绝”错误。
是否有一种方法可以拉出和推送存储库的全部内容,而不仅仅是通过子模块的路径?从仓库中推送实际文件。
解决方法
不。 Git将始终尝试从超级项目的最新提交文件中指示的存储库中获取提交。
比方说,在您的超级项目(组回购)的提交abc123
中,.gitmodules
文件看起来像这样:
[submodule "something"]
path = something
url = <URL of private repo> # here you have issues
要么授予用户访问权限,要么在子模块文件指向其他位置(可能在dev分支上)的地方创建特殊的提交。
或者,最后,尝试克隆存储库,让人员手动修改子模块链接,然后使用其他.gitmodules
文件更新子模块。
如果您无法(或不想)向此人授予对私有存储库的读取访问权限,则最好的办法是创建另一个供其访问的克隆。虽然那似乎是回旋处,但我想如果您不想让他们访问完整的历史记录,那可能是有道理的。 (您可以使用浅表克隆。)您可以单独托管该克隆,也可以将其直接发送给他们(也许作为捆绑包,他们可以用来填充本地存储库)。
一旦他们有了一个可以访问所需提交的URL,则应该更新其本地存储库的配置。他们应该避免更改.gitmodules
文件,就像不应将本地排除项放在.gitignore
中一样。您可以在此处找到有关子模块的本地配置的更多信息:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。