背景:我目前正在从事一个生物信息学项目。我使用PyCharm作为IDE和GitHub进行版本控制。我在想我的项目结构..。
安装:我们有2个存储库:
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.其他..。
我想找一种更好的/标准的/实用的方法来处理这种情况。我绝不是一个新手程序员。但是我通过尝试和错误教会了自己很多,所以有时候我的方法有点不传统。
发布于 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保持同步,您有几个选项
Preferences > Build, Execution, Deployment > Deployment
与Type > Local or mounted folder
发布于 2017-02-15 19:57:02
正确的处理方法是使用Git子模块,它允许在父存储库中包含对另一个存储库的特定提交的引用。这有一个额外的好处,就是能够对依赖项进行版本化:如果您在R-闪亮中更新了一些内容,那么这些更改将不会传播,直到您手动引入这些更改,并且知道父存储库中的代码支持R-闪亮内容中的更改。tl;dr:您的设置应该有两个作为自己的repos,其中R-闪亮作为另一个子模块。
有关如何使用子模块的更详细说明,请参见my answer here。
请注意:您说这是一个生物信息学项目,因此需要能够查看您的代码的人可能并不一定是最熟练的Git用户--为他们提供脚本可能会有帮助。
https://stackoverflow.com/questions/42255737
复制相似问题