Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git SourceTree-未提交的子模块_Git_Bitbucket - Fatal编程技术网

Git SourceTree-未提交的子模块

Git SourceTree-未提交的子模块,git,bitbucket,Git,Bitbucket,我在本地机器(Xcode iOS项目)上克隆了一个包含3个子模块的存储库 其中一个子模块是私有的,我无法访问,因此我在.git/config文件中对其进行了注释,以便我可以做一些工作 现在我来提交我的更改,并显示以下对话框- 我的问题是-如果单击跳过并将更改推送到远程存储库,会发生什么情况。它会影响其他拉我提交的开发人员(可以访问私有子模块)。我不愿意推,以防它从远程回购中删除子模块 希望这是有意义的,并提前感谢您的任何意见或答案 干杯, 亚当 [更新] 这篇文章似乎建议,点击skip将使任何

我在本地机器(Xcode iOS项目)上克隆了一个包含3个子模块的存储库

其中一个子模块是私有的,我无法访问,因此我在
.git/config
文件中对其进行了注释,以便我可以做一些工作

现在我来提交我的更改,并显示以下对话框-

我的问题是-如果单击跳过并将更改推送到远程存储库,会发生什么情况。它会影响其他拉我提交的开发人员(可以访问私有子模块)。我不愿意推,以防它从远程回购中删除子模块

希望这是有意义的,并提前感谢您的任何意见或答案

干杯, 亚当

[更新] 这篇文章似乎建议,点击skip将使任何更改保持未提交状态,并且不会被推送到远程。
子模块类似于存储库中的代码引用。把它们看作是另一次回购的指针

重要的是要了解,当您签出子模块时,磁盘中存在子模块repo的本地副本,如果子模块中存在任何有意/无意的更改,则会要求您提供上述提示

回答您的问题:如果按
skip
,则仅提交回购协议中的更改,子模块remote将保持不变。如果您依赖子模块中的更改,这可能会使代码不稳定

如果按
commit
,则子模块中的更改也将提交

通常情况下,在子模块中单独进行任何更改并在回购协议中提取这些更改是一种好的做法。如果子模块被积极使用,那么我建议使用依赖关系管理器或git子树来引用它


我如何才能让thas要求跳过的模式永远消失?我已经更新了我的答案,你不能让它消失。让它消失的唯一方法是确保不直接从repo修改子模块。