https://gitforwindows.org/有一个选项可以把bash放到PowerShell中。我需要这个选项,所以不需要安装WSL等等。我需要无人值守地安装git,也就是说,只使用命令行。现有的教程,比如this,只使用PowerShell启动安装程序,但是我必须使用鼠标来安装东西。
那么,如何使用PowerShell在PowerShell上安装git,with bash?
更新日期:
我试过了
Write-Host "Installing Git for windows..." -ForegroundColor Cyan
$exePath = "$env:TEMP\git.msi"
Write-Host "Downloading..."
(New-Object Net.WebClient).DownloadFile('https://github.com/git-for-windows/git/releases/download/v2.37.1.windows.1/Git-2.37.1-64-bit.exe', $exePath)
Write-Host "Installing..."
Start-Process msiexec.exe -Wait -ArgumentList '$exePath /NORESTART /NOCANCEL /SP- /CLOSEAPPLICATIONS /RESTARTAPPLICATIONS /COMPONENTS="icons,ext\reg\shellhere,assoc,assoc_sh" /LOG="C:git-for-windows.log"'
git --version
bash
但是它在“正在安装...”时卡住了,不打印任何其他输出。
6条答案
按热度按时间rhfm7lfc1#
有两个问题:
msiexec.exe
。安装程序本身已经有参数来执行静默安装。请按原样执行:但是:这将仍然启动一个GUI。所以你必须添加更多的参数,使安装真正沉默。进一步阅读:
TL;DR:另外添加
/VERYSILENT
,您可能希望使用/LOADINF
来自定义一些设置。当前
Process
作用域中的环境变量不会自动更新。请手动更新它们,方法是:此代码取自this answer。
之后,
git --version
和Get-Command git
将工作。完整脚本:
bnl4lu3b2#
siotufzp3#
这不是您问题的确切答案。
既然你不喜欢像WSL那样笨重的东西,我有一个很好的替代方案来满足你的需求,它也保证了原生的windows文件系统支持。使用MSYS 2代替gitbash。这要好得多,而且git-bash最初是基于MSYS 2的
1.下载首选的MSYS2软件包。
1.如果已下载GUI安装程序,请使用
.\msys2-x86_64-latest.exe in --confirm-command --accept-messages --root C:/msys64
通过CLI进行安装或者,如果您已经下载了自解压归档文件,请使用
.\msys2-base-x86_64-latest.sfx.exe -y -oC:\
安装它1.启动MSYS 2,然后使用
pacman -Syu
更新软件包列表。1.使用
pacman -S git
安装git你最终会爱上它的。注意一些你在linux中习惯的键盘快捷键可能不起作用,例如不支持Ctrl+Shift+v粘贴,而Windows使用Shift+Insert
Credits
ecfsfe2w4#
为了以防万一,请检查命令的
/LOG="C:git-for-windows.log"
部分是否有拼写错误这样,您就可以重试,并监视
C:\git-for-windows.log
的日志。此外,请确保您有权直接在
C:\
下写入。/LOG="$env:userprofile\git-for-windows.log"
可能更安全。u2nhd7ah5#
使用
SAVEINF
参数运行一次git install,在安装界面中选择所有你想安装的选项:这将创建一个安装配置文件,您可以使用它来使用powershell进行git的静默安装:
这将产生一个后台进程并立即退出。您可以等待它完成,如下所示:
6qfn3psc6#
现在,在PowerShell上使用git终端非常简单,只需使用以下命令
首先,将执行策略设置为remotesigned。以管理员身份运行powershell并运行以下命令
在powershell上安装git
导入git模块
在powershell启动时默认加载配置文件