【备忘录】Windows上的Git(Git Bash)进行版本升级

首先

由於有機會升級Windows的Git(Git Bash)版本,我將其記錄下來以便日後參考。

在Windows系统下检查 Git 的版本

在Windows上,要确认git的版本,只需简单地确认git本身的版本即可。
具体操作是在git bash上执行以下命令即可。

git version

Git for Windows 的升级版本

在 git bash 上执行以下命令就可以了。

git update-git-for-windows

实体命令是一个名为 git-update-git-for-windows 的shell脚本,如果以git-开头,则会被转化为git的子命令,因此可以通过git update-git-for-windows来执行。

$ which git-update-git-for-windows
/mingw64/bin/git-update-git-for-windows

根据我认为,从Windows的角度来看,实际情况取决于安装位置,应该是%ProgramFiles%\Git\mingw64\bin\git-update-git-for-windows。

然而,执行此更新后,%ProgramFiles%\Git\bin\bash.exe命令主体会被替换,因此在Windows Terminal上运行git bash会出现错误(从Windows Terminal的角度看,执行的命令会被突然删除)。
尽管会报错,但测试结果表明更新已成功完成。
不过,为了安全起见,最好还是从普通的git bash界面而不是从Windows Terminal执行。

在Windows终端上使用git bash的方法如下【参考】。

 

在代理环境下进行版本更新。

如果您想在代理环境下进行版本升级,可能需要进行一些设置。以上是在正常环境(非代理环境)下的版本升级方法。那些已经通过常规的git操作与代理外部进行交互的人可能已经采取了相应措施。

首先,需要进行代理设置。
从前面提到的 git-update-git-for-windows 中可以看到,它在内部使用了 curl 命令,所以需要进行与 curl 相关的环境变量设置。

只要按照以下方式操作即可(用户ID/密码/代理服务器名称/端口号都是虚拟值)。

export https_proxy=http://PROXY_USER:PROXY_PASSWD@proxy.exsample.com:8080
git update-git-for-windows

顺便提一下,如果可以通过命令 git config –get http.proxy 获取到代理设置,那么 git-update-git-for-windows 脚本会自动将其配置到环境变量中,因此不需要手动设置。

此外,在通过代理访问curl时,可能会发生一些错误。

    • 証明書の検証でエラーが発生

 

    URL のリダイレクトが発生

可以通过在curl选项中加上–insecure(与-k相同)或–location(与-L相同)来避免这个问题。然而,我认为直接修改git-update-git-for-windows脚本是个问题,所以我会先创建一个临时的~/.curlrc文件,然后再执行。

--insecure
--location

尽管我没有尝试过,但可能使用”–proxy-insecure”而不是”–insecure”会更好。

此外,我认为您还可以通过设置 ~/.curlrc 文件来配置代理,而不是通过环境变量。

如果你不需要的话,最好将其删除。

如果有更好的方法,请评论。

广告
将在 10 秒后关闭
bannerAds