git - 对开发团队的 Codespaces 设置的基数感到困惑

标签 git docker visual-studio-code collaboration codespaces

我目前正在尝试围绕基于 Codespaces 和 Docker 的开发设置:
https://docs.microsoft.com/en-us/visualstudio/codespaces/how-to/browser#create-an-environment
要求/情况:

  • 3名开发人员
  • 2 个项目托管在 Github
  • 项目 1 有 2 个分支 (+master)
  • 项目 2 有 1 个分支 (+master)
  • 开发人员 1 和 2 正在开发项目 1 的分支 1
  • 开发人员 2 正在开发项目 1 的分支 2 和项目 2 的分支 1(即“唯一的非主分支”)
  • 开发人员应该能够使用 VS Codespaces 进行开发,即使用远程编译,无需手动安装插件、配置 Node 版本等。
  • 有一个使用“mail@my_company.com”登录的公司 Azure 帐户:

  • 我试图在下图中可视化情况:
    enter image description here
    解决方案尝试:
    这个想法是/是将 Dockerfiles 添加到 GitHub 存储库,以使每个项目(即 GitHub 存储库)的配置在所有从事该项目的开发人员中保持一致。然后让开发人员通过代码空间处理项目,并在完成后提交他们的更改。
  • 到目前为止,在 VS Code 中从 GitHub checkout 项目时,我能够在 VS Code 中使用 Dockerfiles 来自动设置正确的 Node 版本(例如)。
  • 通过从 2 台笔记本电脑登录代码空间帐户,我还能够创建代码空间并在工作空间上进行协作。同步按预期工作,只要我在一台笔记本电脑上保存文件,我就可以在另一台笔记本电脑的 IDE 中看到它。

  • 问题/问题
    有几件事我还不明白,并阻止我完成设置:
  • 开发人员目前需要登录 azure 帐户,才能连接到 VS Code 中的代码空间。这意味着每个开发人员都可以查看和编辑每个人的文件。如果您想协作,那就太好了,但似乎无法将项目与开发人员分开/stash 。
  • 如果在 VS 代码中连接到 Docker 容器,远程编译变得不可能
  • 如果我连接到代码空间,我会丢失 dockerfile 设置。
  • 如果我为 GitHub 上的每个分支创建一个代码空间,那么开发人员将相互干涉其他代码,源代码控制就会消失。
  • 如果我在 GitHub 上为每个分支的 checkout 创建一个代码空间,情况会变得更糟,因为我失去了在开发人员之间对齐设置的可能性。

  • 所以无论我走哪条路,我都会失去每个策略的关键功能。
    我错过了什么?
    我花了很多时间阅读各种 Microsoft 文档,但无法找到令人满意的答案。

    最佳答案

    感谢您考虑 Visual Studio Codespaces - 我有几个答案给您,但我想确保您看到我们最近发布的 Visual Studio Codespaces is consolidating进入 GitHub Codespaces,当前服务将于 2 月停用。展望 future ,我们鼓励您考虑使用 GitHub 产品来满足您的远程开发需求。
    对于您的主要问题,每个开发人员都需要自己登录到 Azure/VS Codespaces - 他们不会共享一个。登录后,他们将在他们正在从事的特定项目需要时自行创建代码空间 - 我们不鼓励管理员为其他人创建代码空间,因为代码空间与单个用户帐户相关联。

    关于git - 对开发团队的 Codespaces 设置的基数感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63762893/

    相关文章:

    linux - 需要在没有互联网连接的情况下在 docker 容器中安装 rpm 包

    java - 更改 VSCode 中的 java 构建位置(代码运行程序)

    android - 安装 build/app/outputs/flutter-apk/app.apk... 在 flutter 运行后丢失/没有发生。设备上未保存任何应用

    git - merge 不会保留对文件的更改,为什么?

    Gitkraken repo ,未能 checkout 分支,然后突然删除了数十个文件

    git - 具有多个类似项目的修订控制系统(针对同一产品的每个客户定制一个)

    Git 如何恢复到某个提交,但保留我所做的所有提交

    Docker 镜像格式

    svn - 在docker中存储数据的最佳方法是什么?

    css - Live SASS 编译器创建额外的文件?