¿Hay alguna manera de hacer que git funcione correctamente desde un contenedor de desarrollo usando VS Code?

2 minutos de lectura

estoy trabajando con VS Code e instalé el Remote Development extensión. creé un devcontainer para mi aplicación Angular. Hasta ahora, todo funciona bien. Él Dockerfile y el devcontainer.json Los archivos son bastante simples:

archivo acoplable:

FROM mcr.microsoft.com/vscode/devcontainers/typescript-node:0-12

devcontainer.json:

{
    "name": "Angular App",
    "dockerFile": "Dockerfile",
    "settings": { 
        "git.path": "/usr/bin/git",
        "terminal.integrated.shell.linux": "/bin/bash"
    },
    "extensions": [
        "angular.ng-template",
        "natewallace.angular2-inline",
        "dbaeumer.vscode-eslint"
    ],
    "forwardPorts": [4200, 9876],
    "mounts": [ ],
    "remoteEnv": { },
    "postCreateCommand": "yarn install",
}

Fuera de mi contenedor, mi ruta de git está en el C:\Archivos de programa\… directorio. Dentro de mi contenedor, la ruta de git es /usr/bin/gites por eso que configuré el "git.path" propiedad arriba, y verifiqué esto usando el which git comando dentro de mi contenedor. Por supuesto, ninguno de los comandos de git funciona porque siempre conducen a un error.

fatal: no se pudo cambiar a ‘C:/Workspace/my-angular-app’: no ​​existe tal archivo o directorio

Siempre podría usar el Remote-Containers: Reopen Locally comando, y una vez que estoy de vuelta en Windows (fuera del contenedor), mi control de fuente se ilumina con todas mis diferencias y git funciona bien. Pero, si hay una manera de hacer que git funcione desde dentro del contenedor, sería útil. No quiero tener que salir constantemente del contenedor para identificar las diferencias mientras trabajo en los cambios.

  • Aparentemente, esto es algo que se tiene que resolver (y se está resolviendo) desde el mismo Docker. Sigue la cadena: github.com/microsoft/vscode-remote-release/issues/2591

    – myermian

    23 de marzo de 2020 a las 18:44

  • Actualice desde el enlace anterior: esto ahora se resolvió a partir de Docker v2.2.0.5.

    – JohnLBevan

    30 de mayo de 2020 a las 8:20

Esto se ha resuelto, pero originalmente era un problema de Docker: https://github.com/microsoft/vscode-remote-release/issues/2591

  • Todavía tengo este problema con Docker versión 20.10.1 y vs code v 1.52.1 en Linux.

    – reactor

    24 dic 2020 a las 20:35


  • Lo mismo, teniendo este problema ahora mismo, Ubuntu 20.04.

    – Ronan Felipe

    29 de abril de 2022 a las 3:02

Es posible que también deba cambiar la ruta de estilo de Windows a una ruta de estilo *nix. En este caso, en lugar de C:/Workspace… intente con /mnt/c/Workspace…

¿Ha sido útil esta solución?