首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PyCharm/GitHub:管理同一个项目的多个存储库的目录

PyCharm/GitHub:管理同一个项目的多个存储库的目录
EN

Stack Overflow用户
提问于 2017-02-15 17:02:11
回答 2查看 1.6K关注 0票数 2

背景:我目前正在从事一个生物信息学项目。我使用PyCharm作为IDE和GitHub进行版本控制。我在想我的项目结构..。

安装:我们有2个存储库:

  1. 一个包含我们所有文件和目录的主回购
  2. 然后我们有了一个侧回购,它承载了我们的R-闪亮的应用程序/文件/目录

R-闪亮应用程序(2)的GitHub回购是主回购(1)中一个目录的镜像。我们将在R-闪亮的应用程序上进行持续的维护(因此有了2次回购的原因)。

从这里开始,我将将PyCharm项目和GitHub回购作为(1)和(2)引用。

问题:,处理这种情况的最好方法是什么?

1.我的主项目(1)目录中的创建一个新的PyCharm项目(2)安全吗? 然后将主项目(1) +侧项目(2)推拉到主项目回购(1)。然后推拉侧项目(2)到侧项目回购(2)。 2.为两个PyCharm项目创建单独的目录。 我必须从(2)复制/粘贴我的目录,并将它们适当地粘贴到(1)中。 然后分别推拉项目(1)和项目(2)。 3.,还是应该将所有内容合并到一个项目/存储库中,然后为R-闪亮的应用程序/目录创建一个单独的分支?我不知道这是可能的还是实际的。 4.其他..。

我想找一种更好的/标准的/实用的方法来处理这种情况。我绝不是一个新手程序员。但是我通过尝试和错误教会了自己很多,所以有时候我的方法有点不传统。

EN

回答 2

Stack Overflow用户

发布于 2017-02-15 17:20:21

我经常在需要引用其他目录树的项目中工作,这些目录树也是PyCharm项目。通常,我只是将引用添加为Content Root。打开项目1,然后转到Preferences > Project > Project Structure > Add Content Root并将路径添加到项目2。

现在您应该可以看到View > Tool Window > Project中列出的项目1和项目2。

排除项目1的子目录(右键单击Mark Directory As > Excluded),这将防止该位置的类、文件和符号在Navigate搜索中显示为副本。

PyCharm很聪明地跟踪同一个项目中的多个git repos,请参阅Preferences > Version Control。只是不要在彼此的内部筑巢。

若要比较项目1和项目2之间的最新更改,请在“项目工具”窗口中选择文件夹,右键单击并选择Compare Directories

为了使项目1和项目2保持同步,您有几个选项

  • 使用@建议的git子模块,请注意,普通的git用户可能会在这个设置中苦苦挣扎。如果您走这个路线,那么前面的所有步骤都不适用。
  • 保持项目1和2在单独的报告。不要在项目1中重复项目2。将路径添加到项目1中的项目2子文件夹中,然后从项目2内容根推到子文件夹中。
  • 重复项目2文件在1.使用PyCharm Preferences > Build, Execution, Deployment > DeploymentType > Local or mounted folder
票数 1
EN

Stack Overflow用户

发布于 2017-02-15 19:57:02

正确的处理方法是使用Git子模块,它允许在父存储库中包含对另一个存储库的特定提交的引用。这有一个额外的好处,就是能够对依赖项进行版本化:如果您在R-闪亮中更新了一些内容,那么这些更改将不会传播,直到您手动引入这些更改,并且知道父存储库中的代码支持R-闪亮内容中的更改。tl;dr:您的设置应该有两个作为自己的repos,其中R-闪亮作为另一个子模块。

有关如何使用子模块的更详细说明,请参见my answer here

请注意:您说这是一个生物信息学项目,因此需要能够查看您的代码的人可能并不一定是最熟练的Git用户--为他们提供脚本可能会有帮助。

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

https://stackoverflow.com/questions/42255737

复制
相关文章

相似问题

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