如何使用Powershell为窗口下载并安装git客户端

Pri*_*ani 3 git powershell

我必须编写自动的powershell脚本来从gihtub克隆存储库,但是我需要使用命令行安装git。请让我知道如何在不使用任何手动工作的情况下使用命令行在窗口上下载和安装git。

提前致谢 !

Har*_*edi 16

只需一个命令解决方案
打开 Powershell 并输入命令: winget install --id Git.Git -e --source winget
重新启动 powershell,您将在命令行中看到 Git。

  • 这应该是正确的解决方案。无需安装其他东西,干净简单 (2认同)

Kla*_*urn 7

您可以使用Chocolatey编写Git安装脚本。

该程序包记录在https://chocolatey.org/packages/git中

  1. 首先,您必须安装Chocolatey,但是可以在命令行上完成
  2. 然后命令是:

choco install -y git

  • 我已经成功安装了 git,但是一旦我尝试检查 git --version,我就异常了 **" git : 术语 'git' 不被识别为 cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。At line:1 char:1 + git --version + ~~~ + CategoryInfo : ObjectNotFound: (git:String) [] , CommandNotFoundException + FullQualifiedErrorId : CommandNotFoundException "** (2认同)

tda*_*roy 6

想在不使用巧克力的情况下做同样的事情。以下内容对我有用,使用 powershell 下载并安装 64 位版本的 git-for-windows:

# get latest download url for git-for-windows 64-bit exe
$git_url = "https://api.github.com/repos/git-for-windows/git/releases/latest"
$asset = Invoke-RestMethod -Method Get -Uri $git_url | % assets | where name -like "*64-bit.exe"
# download installer
$installer = "$env:temp\$($asset.name)"
Invoke-WebRequest -Uri $asset.browser_download_url -OutFile $installer
# run installer
$git_install_inf = "<install inf file>"
$install_args = "/SP- /VERYSILENT /SUPPRESSMSGBOXES /NOCANCEL /NORESTART /CLOSEAPPLICATIONS /RESTARTAPPLICATIONS /LOADINF=""$git_install_inf"""
Start-Process -FilePath $installer -ArgumentList $install_args -Wait
Run Code Online (Sandbox Code Playgroud)

<install inf file>包含 git 安装的安装参数的文件的路径在哪里。例如,这是我正在使用的一个(我通过使用/SAVEINF=<install inf file>参数运行一次 git installer exe 获得的):

[Setup]
Lang=default
Dir=C:\Program Files\Git
Group=Git
NoIcons=0
SetupType=default
Components=ext,ext\shellhere,ext\guihere,gitlfs,assoc,autoupdate
Tasks=
EditorOption=VIM
CustomEditorPath=
PathOption=Cmd
SSHOption=OpenSSH
TortoiseOption=false
CURLOption=WinSSL
CRLFOption=LFOnly
BashTerminalOption=ConHost
PerformanceTweaksFSCache=Enabled
UseCredentialManager=Enabled
EnableSymlinks=Disabled
EnableBuiltinInteractiveAdd=Disabled
Run Code Online (Sandbox Code Playgroud)

从这个对类似问题的回答中了解了安装参数文件:https : //superuser.com/a/1005634/1104046

运行这将需要重新启动 shell 以更新 Path 环境变量并使 git 命令工作。或者,您可以使用以下命令更新当前的 powershell Path 环境变量

$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
Run Code Online (Sandbox Code Playgroud)

然后将在 Path 变量中包含 git.exe 的路径。