首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android跨项目同步git子模块

Android跨项目同步git子模块
EN

Stack Overflow用户
提问于 2018-03-09 17:31:31
回答 1查看 1.3K关注 0票数 2

我有一个主要项目,其中包括其他几个GIT项目作为子模块。所有的项目都是在git流之后分支的.主项目总是使用子模块的master分支。子模块中的新特性是在developfeature分支的单独的IDE窗口中开发的。

如果我在AndroidStudio的不同窗口中同时打开主项目和子模块,那么问题就开始了。IDE似乎认识到主项目窗口的子模块与在另一个窗口中打开的模块是同一个存储库,并开始保持签出的提交保持同步。示例:

  1. 我打开带有子模块A的主项目,在最后一次提交master分支时签出。
  2. 我在一个新的IDE窗口中打开模块A项目,在develop分支的最后一次提交时签出。
  3. 我在子模块项目的窗口中签出了不同的提交。
  4. 主项目中的子模块自动更新为步骤3的提交。Git显示子模块提交已经更改。
  5. 我将主项目子模块的分支更改为master。git更改消失了,但是模块A也在自己的IDE窗口的master分支上签出。

这使我无法同时打开AndroidStudio中的模块和主项目。

在试图查找此bug的原因时,我检查了以下内容:

  • 主项目的子模块文件夹和模块项目的文件夹不在同一位置。
  • 吉特不是原因。我关闭了IDE,并通过Git-CLI签出了不同的提交。提交在两个项目之间保持不同。
  • 一旦两个项目都在AndroidStudio内部打开,我就不会更改提交(IDE内置Git-UI、IDE内置终端+ Git CLI、外部终端+ Git CLI)。一旦我签出不同的提交,提交就开始同步。
  • IDE使用系统的Git二进制文件。

这是一个bug还是一个特性?如果是后者,是否有办法使其失效?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-09 17:33:47

这确实是一个特点。您可以在“设置”、“版本控制”、“Git”、“对所有根上执行分支操作”(在旧版本中,此选项称为“控制存储库同步”)下关闭它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49199143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档