【问题标题】:To config Git Bash used within WSL配置在 WSL 中使用的 Git Bash
【发布时间】:2021-03-24 19:26:05
【问题描述】:

在 WSL 中使用 Windows Git Bash 完全没有问题,只是我现有的所有 git 别名都停止工作。如何让git 告诉/报告它从哪里读取配置?

在 WSL 内:

$ type git.exe
git.exe is hashed (/c/Program Files/Git/mingw64/bin/git.exe)

那么这样的 git 从哪里读取它的配置呢?

【问题讨论】:

    标签: git config windows-subsystem-for-linux git-bash


    【解决方案1】:
    git config -l --show-origin
    

    并且(至少如果您使用的是 wsl2,据我了解,它根本不是一个真正的 windows 子系统,它是一个将 windows 和 linux 作为兄弟姐妹托管的管理程序),

    strace -fefile git config -l
    

    将向您显示每个系统调用提供文件路径的命令问题。

    【讨论】:

      【解决方案2】:

      我建议你在wsl中运行:

      sudo ln -fs '/c/Program Files/Git/mingw64/bin/git.exe' /usr/bin/git
      

      这样你的 git 别名应该继续工作,你可以运行 git commit ...

      Windows git 总是从 Windows %USERPROFILE% 读取配置,通常是 C:\Users\your-name,甚至从 WSL 启动。

      【讨论】:

      • 这不是一个好主意。 /usr/bin 由包管理器管理,如果您这样做并且某些 Linux 程序尝试安装 Git,您将导致问题。最好将其符号链接到 ~/bin 之类的东西中,假设它在您的 PATH 中。
      • @bk2204 一些 Linux 程序?能举个例子吗?
      • 如果您在 Linux 环境中安装依赖或推荐 git 软件包的软件包,例如用于 repo 或 Docker 的 Debian 软件包,这将导致尝试安装 git 软件包,如果你这样做了,它可能会失败,或者至少它会破坏你所依赖的行为。 /usr/bin 只能通过包管理器进行修改,切勿手动修改。
      • 你的意思是安装Docker会安装git吗?
      • 在 Debian 中默认是可以的。
      猜你喜欢
      • 2021-02-22
      • 2019-03-25
      • 2017-07-13
      • 1970-01-01
      • 2012-02-09
      • 2016-05-21
      • 2020-04-20
      • 2022-11-12
      • 2020-11-18
      相关资源
      最近更新 更多