git存储库,建议?
我有几个存储库:一个管理数据库模式的存储库(由一些.sql文件组成)和一个Python SqlAlchemy模型(model.py)以及其他repo,它们只需要使用Python模型文件,而不需要使用*.sql文件 是否可以在任何其他repo中仅获取model.py文件(可能作为子模块) 目前:git存储库,建议?,git,multiple-repositories,Git,Multiple Repositories,我有几个存储库:一个管理数据库模式的存储库(由一些.sql文件组成)和一个Python SqlAlchemy模型(model.py)以及其他repo,它们只需要使用Python模型文件,而不需要使用*.sql文件 是否可以在任何其他repo中仅获取model.py文件(可能作为子模块) 目前: REPO "db": `-- model.py `-- sql `-- various *.sql files REPO "website" `-- various *.py files `--
REPO "db":
`-- model.py
`-- sql
`-- various *.sql files
REPO "website"
`-- various *.py files
`-- needs model.py...?
REPO "random-helper-script"
`-- various *.py files
`-- needs model.py...?
因为这是一个Python项目,所以我可以将model.py隔离到一个文件夹中,并以这种方式将其作为一个模块
通过使用子模块,我可以单独将model.py分解成一个repo,也可以处理这样一个事实,即我使用子模块获得所有的*.sql文件。想法?这是一种折衷。与需要将model.py放在单独的repo中相比,您对其他项目不感兴趣的sql文件所需的额外空间将model.py作为一个单独的存储库可能会感觉有点不舒服,因为在另外两个repo中需要它,而它实际上与sql文件一起属于第一个项目
假设model.py与sql文件耦合在一起,并且在sql文件存在时经常进行修改,我会在其他两个项目中使用第一个repo作为子模块。尽管他们可能不关心sql文件,但磁盘空间很便宜:)这是一种折衷。与需要将model.py放在单独的存储库中并将其用作所有存储库中的子模块相比,您对其他项目不感兴趣的sql文件所需的额外空间。将model.py作为一个单独的存储库可能会让人感觉有点不舒服,因为您需要在另外两个repo中使用它,而它实际上与sql文件一起属于第一个项目
假设model.py与sql文件耦合在一起,并且在sql文件存在时经常进行修改,我会在其他两个项目中将第一个repo作为子模块使用。尽管他们可能不关心sql文件,但磁盘空间很便宜:)@KingCrunch:如果你是说,我已经看过了。我不确定我是否想在网站项目本身中保留另一个项目的历史记录,哪个git子树可以。不知道确切的意思。然而,这与历史有关;)使用
--squash
git子树将从另一个项目创建一个提交,然后合并到“您的”中,因此历史记录将丢失。如果省略它,则在合并之前每次提交都会执行,这将使历史保持不变。两者中的一个应该适合你的需要:D我建议,你应该玩一玩。“我一开始也没弄明白。”@KingCrunch:如果你是说,我已经看过了。我不确定我是否想在网站项目本身中保留另一个项目的历史记录,哪个git子树可以。不知道确切的意思。然而,这与历史有关;)使用--squash
git子树将从另一个项目创建一个提交,然后合并到“您的”中,因此历史记录将丢失。如果省略它,则在合并之前每次提交都会执行,这将使历史保持不变。两者中的一个应该适合你的需要:D我建议,你应该玩一玩。我一开始也没弄明白。