【问题标题】:Integrating Virtualenv with two GitHub repositories将 Virtualenv 与两个 GitHub 存储库集成
【发布时间】:2020-03-10 16:50:41
【问题描述】:

我的问题可能不是最复杂的,但由于它使用与不可见文件(git 和 virtualenv)相关的复杂而基本的操作,因此正确处理似乎至关重要。

据我所知,Virtualenv 只是更改了一些路径变量,因此“冻结”分支就是可见的分支。因此,如果您的项目中有两个分支(比如说前端和后端),最好的做法是创建一个名为“venv”的顶级目录,在其中创建虚拟环境,然后执行两个 giti init ('git init frontend' 和 'git init backend') 在子目录中。这给我们留下了一个目录结构,而不是看起来像:

project (venv)
    +
front-end (Git repository1) 
    +--other_dirs
    +
back-end (Git repository2)
    +--other_dirs

现在每个(独立的)分支都会自行处理......但任何公共文件都不是 Git 的一部分。

首选的方法是什么?

【问题讨论】:

    标签: git virtualenv


    【解决方案1】:

    通过实验,看起来我制定的策略是最好的/最实用的。

    基本上,您设置了一个我们可以称为“venv”的顶级目录。然后在该目录中创建一个虚拟环境。如果这样做,您将看到所有实现 virtualenv 的隐藏文件。特别是,查看“秘密”文件(通过执行“ls .*”)到目前为止,一切顺利。

    现在从那里创建两个子目录,我们将调用 foo 和 bar。移动到第一个并执行“git init”,然后克隆分支 1 的存储库。(不要忘记执行“git --add”,然后执行“git commit”,以便所有 Git 文件对于子目录“foo”卡在该子目录中。)

    现在,切换到另一个分支(“cd ../bar”)并执行相同的操作(即“git init”,然后是克隆、添加和提交)。这应该使 bar 及其所有子目录由其自己的 Git 存储库管理。

    有点令人困惑的是,为了从位于任一子目录的根目录中激活虚拟环境,您需要执行“source ../bin/activate”。换句话说,/venv 下的 /bin 目录是两个目录的对等目录,它“保存”了所有神奇的 Git 文件(再次尝试“ls .*”使它们出现)。

    但虚拟环境本身似乎不需要成为 Git 所知道的任何内容的一部分。

    仍然很高兴听到其他意见,但考虑到一个项目有多频繁(例如)前端和后端,这令人惊讶地很少解释。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-27
      相关资源
      最近更新 更多