【问题标题】:Using Git Bash under WSL在 WSL 下使用 Git Bash
【发布时间】:2021-02-22 00:38:10
【问题描述】:

我需要在WSL下使用Git Bash(而不是原生Linux git)。

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

问题是,我得到了:

$ git.exe alias list
git: 'alias' is not a git command. See 'git --help'.

来自Expansion of alias failed; not a git command,看来我需要覆盖

git --exec-path

但是已经完成了

export GIT_EXEC_PATH='/c/Program Files/Git/mingw64/libexec/git-core'

git --exec-path 的输出还是和以前一样:

$ git --exec-path
C:/Program Files/Git/mingw64/libexec/git-core

如何覆盖git --exec-path,或使git alias 工作?

附言。我需要使用 Git Bash 而不是原生 Linux git 的原因是后者给了我:

$ git pull
fatal: Unsupported SSL backend 'schannel'. Supported SSL backends:
        gnutls

但我必须使用 schannel 后端才能让我的 git 工作。

更新:

只想指出,所有推荐的解决方案都不是这个特定问题的答案,希望这样的注释“将有助于防止您的问题被关闭,并将从您的帖子中删除建议的问题通知”。 谢谢大家,到目前为止所有的答案

【问题讨论】:

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


【解决方案1】:
$ git pull
  fatal: Unsupported SSL backend 'schannel'. Supported SSL backends:
         gnutls

正如我在 this answer 中提到的,在您的 WSL 会话中尝试使用 Linux Git:

git config --global http.sslBackend openssl

确保git version 为 2.20 或更高。

【讨论】:

  • 将 http.sslBackend 设置为 "openssl" 将允许 Git for Windows 在运行时选择 SSL 后端。它也适用于 Linux Git 吗?我的 git 版本是 2.20.1,为什么它说“支持的 SSL 后端:gnutls”而没有提到“openssl”?
  • @xpt 升级 Git(Linux 版本)是个好主意(升级到 2.29.2)。如果它可以在运行时选择它的 SSL 后端,它应该选择 gnutls。
  • 老实说,我认为这是错误的方向,因为我相信 git-bash,即适用于 Windows 的 Git,有许多特定的调整可以使其与 schannel 后端一起使用。普通的 git 是行不通的。作为证明,我在 mysys2 下尝试了 git,但它不适用于我的情况——MS TFS/git 服务器。
  • @xpt 好的。我通常使用 Git for Windows 或 Linux Git (WSL)。
  • @Mark 你用的是什么版本的 Git,用的是哪个操作系统?
猜你喜欢
  • 1970-01-01
  • 2019-03-25
  • 1970-01-01
  • 2020-11-18
  • 2023-02-08
  • 2017-11-10
  • 1970-01-01
  • 2019-03-19
  • 1970-01-01
相关资源
最近更新 更多