如何使用 Powershell 下载并安装适用于 Windows 的 git 客户端

2024-01-27

我必须编写自动 powershell 脚本来从 gihtub 克隆存储库,但我需要使用命令行安装 git。您能否让我知道如何使用命令行在窗口上下载并安装 git,而无需执行任何手动工作。

提前致谢 !


希望在不使用巧克力的情况下做同样的事情。以下内容对我有用,使用 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

Where <install inf file>是包含 git 安装的安装参数的文件的路径。作为一个例子,这是我正在使用的(我通过使用 git installer exe 运行一次来​​获得它)/SAVEINF=<install inf file>范围):

[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

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

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

$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Powershell 下载并安装适用于 Windows 的 git 客户端 的相关文章

  • 恢复 git reset --soft

    我修改了我的分支中的一些文件并做了一个 git add all 但这添加了一些我不打算为提交添加的文件 所以我做了一个 git reset soft HEAD 2 instead of doing git reset HEAD 但之前的提交
  • 我可以从命令行向 github 添加问题吗?

    我是 git 新手 我希望能够通过 github 绘制我的项目的计划和进度 问题是 这需要在 github com 上使用浏览器进行大量点击 并且我希望能够通过使用命令行程序来自动执行该任务 github 有命令行界面吗 有一个ghi ge
  • 无法将 android“gen”文件夹提交到 Git

    我在 eclipse 中使用 EGit 为我正在开发的 Android 项目提供 Git 支持 问题是 将我的项目提交到本地存储库后 我意识到 gen 文件夹没有被提交 因此 当我从 Git 存储库获取最新源代码后尝试在另一台计算机上打开该
  • 在 Windows 上将 Mercurial (hg) 存储库转换为 Git (7)

    我现在真的很沮丧 我有一个现有的 hg 存储库 其中有几个月的编码历史 我想将其放入私有 Github 存储库中 以便我可以从那里对其进行处理 不幸的是我使用的是 Windows 我似乎找不到any转换我实际上可以正常工作的存储库的方法 实
  • 尽管有 svn 复制,如何 git svn 克隆完整历史记录

    在我的公司 我们即将从 svn 切换到 git 我们使用的 SVN 非常大 没有 svn 布局 并且在每个版本拆分上我们都制作了一个 svn 副本 SVN存储库结构 svnserver company de product xy 主要版本号
  • 有哪些基于对象的 shell?

    我打算写一个面向对象的shell 基于Python 我已经有很多想法了 但在实现它之前 我想通过一些现有的 shell 来激发我的灵感 我所说的面向对象的基本意思是 参数不仅仅是字符串数组 而且是对象数组 返回值也是一个对象 不仅有 std
  • 如何使用 libgit2 创建空提交?

    我一直在寻找libgit2 C API 参考 https libgit2 org libgit2 但我不知道如何模仿git commit allow empty libgit2 是否有内置方法来创建空提交 如果没有 git 如何在底层创建一
  • 主存储库和本地存储库在同一台机器上

    我是 Git 新手 我已经在 Linux 服务器中创建了一个主存储库 同一个服务器将由 5 组 每组 3 个用户 使用 我想为每个组创建一个本地存储库 小组成员又应该为每个人创建一个本地存储库 使用内容并将修改提交到小组的本地存储库 我该怎
  • git 命令显示所有(轻量级)标签创建日期

    是否有一个衬垫可以向我显示所有 git 轻量级标签的创建日期 就像是 git show tags format date 我在这个发现link http osdir com ml git 2009 05 msg01404 html适合我需求
  • Eventmachine start_tcp_server 无接受器 - 端口正在使用或需要 root 权限(运行时错误)

    我已经 3 天无法运行本地服务器了 重新启动我的计算机没有帮助 有几次 在反复尝试大约 40 50 次之后 它随机地起作用了 我不明白为什么 我尝试过一次不同的端口并且有效 但从那以后 没有端口有效 每次我尝试运行我的 Rails 服务器时
  • 获取对 SOAP 的 XML 响应中的节点值

    我在 PowerShell 中发出 SOAP 请求 如下所示 uri https secure echosign com services EchoSignDocumentService20 WSDL sun Invoke WebReque
  • 为什么在 Eclipse 中对 Egit 管理的项目禁用合并工具?

    根据Egit 用户指南 http wiki eclipse org EGit User Guide Using Merge Tool 要使用合并工具 应右键单击存在合并冲突的资源 然后选择Team gt 合并工具 但是 当我执行此操作时 合
  • 如何在本地快速拉取拉取请求

    在合并拉取请求之前 我想在本地快速拉取请求并运行测试并测试一些内容 我还不想点击 gihub 合并拉取请求 我以为滑轮会有帮助http ejohn org blog pulley http ejohn org blog pulley 但我收
  • 使用Powershell访问远程Oracle数据库

    我需要能够连接到我的网络上基于 Windows 7 的 Oracle 服务器 32 位 Oracle XE 我需要连接的机器运行 Windows 7 64 位 两台机器上都安装了 Powershell 我已在 64 位计算机上安装了 Ora
  • git Branch -d :致命 - 无法查找 HEAD 的提交对象

    假设我在一个裸存储库 远程 中 如果我尝试使用以下命令删除分支git branch d
  • 有人熟悉 git 错误“缺少对象 0000000000000000000000000000000000000000 for refs/heads/...”吗?

    我们正在运行 git v1 7 1 并配置了 gitweb 我们也使用 gitolite 进行管理 但我不认为这与这个问题有密切关系 有时我们会在 Apache 日志中收到如下错误 missing object 00000000000000
  • Powershell 脚本无法从 SCCM 正常运行 [已关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在尝试
  • git stash 删除最旧的存储(比如最旧的 5 个存储)

    如何在一个语句中删除最旧的存储 例如最旧的 5 个存储 而不是执行以下操作 git stash drop stash 3 git stash drop stash 4 git stash drop stash 5 git stash dro
  • 通过PowerShell检索Azure AD应用程序的“API权限”

    出于报告和监视的目的 我想检索应用程序 应用程序注册 的 Azure 门户中显示的信息以获取 API 权限 我尝试过以下代码 app Get AzureADApplication ObjectId aa7e174d 2639 4ac7 9b
  • 按时间顺序将多个文件夹提交到 git 中

    我有数百个网站备份 每个文件夹一个 我想将它们放入 git 存储库中 每个备份作为一个版本 这些变化主要涉及图像文件和每天 2 个数据库备份 大小约为 25 GB 并且不断增加 有没有办法告诉 git 获取其中一个文件夹并将其提交到存储库中

随机推荐

  • 如何解决Require.js中的循环依赖?

    基本上 这个想法是 子 模块创建一个对象 并且该对象应该是作为 主 模块的实用程序库的一部分 然而 子 对象depends关于 main 的实用程序 Main module define sub function sub var utils
  • NameError:未初始化的常量 Bundler

    我刚刚将我的网络服务器更改为 Puma 并且必须将我的开发数据库从 sqlite 更改为 postgresql 但现在每次我尝试运行 rake db migrate 时都会收到此错误 rake aborted NameError unini
  • 为 ObjectContext 创建接口

    我正在尝试创建一个抽象层ObjectContext 我理解 OC 是一个工作单元 但我并不完全了解如何为它编写一个好的界面 理想情况下 我希望能够交换实现的 RealDataContext IDataContext对于像 FakeDataC
  • 求解 a^3 + b^4 = c^3 + d^3 最佳运行时间

    注意 这个问题不同于写出 a 3 b 3 c 3 d 3 的所有解 https stackoverflow com questions 14454133 write all solutions for a3 b3 c3 d3因为我需要帮助理
  • SQL 如果 select 语句不返回任何行,则执行替代 select 语句

    基本上 什么语法可以让我实现标题声明 If select statement 1 returns 0 rows THEN select statement 2 else select statement 3 以便 sql 返回语句 2 或
  • 将图库中的所有图像加载到 android 中的应用程序中

    我正在创建一个应用程序 其中我需要图库中的所有图像到我的应用程序中 其中有一个 girdview 我希望所有文件夹中的所有图像都显示在网格视图中 String proj MediaStore Images Media DATA MediaS
  • 如何从 pytorch 模块获取子模块序列?

    对于火炬module https pytorch org docs master generated torch nn Module html 我想我可以用 named children named modules等来获取子模块的列表 但是
  • 为什么 d3.js v3 在实现缩放时会破坏我的力图,而 v2 不会?

    我有一个使用 d3 js 创建的强制布局 我希望同时拥有可拖动力布局的正常功能以及缩放功能 我基本上已经从 http jsfiddle net nrabinowitz QMKm3 http jsfiddle net nrabinowitz
  • 在 SQL Server 日期时间字段中格式化日期时间的正确方法是什么

    我在 C 中有一个 dateTime 对象 我想插入 SQL Server 日期时间字段 正确的格式是什么 正确的方法是使用参数化查询 not文本格式 然后你就可以使用强类型SqlDbType DateTime http msdn micr
  • 反应本机平面列表不滚动

    我已经使用 FlatList 很多次了 但从未有过这样的经历 我有一个视图 页面顶部有一个图像 而我的列表在下面 当我尝试滚动时 列表弹到顶部 对此找不到好的解决方案 这是我的清单
  • 在 Play Framework 中使用 POST 路由参数

    我有一个登录路由 应将其输入参数作为 POST 变量传输 我已经这样定义了我的路线 POST v1 accounts login controllers v1 Accounts login username String password
  • 标准WPF选项卡控件中是否有Selected Tab Changed事件

    在WPF中 是否有一个事件可以用来确定何时TabControl选定的选项卡发生变化吗 我尝试过使用TabControl SelectionChanged但是当孩子在选项卡中的选择发生更改时 它会被多次触发 您需要检查事件的来源以隔离最外层的
  • UISegmentedControl 委托/触摸事件

    我有一个 UISegmentedControl 有六个段 我希望它们在值更改时调用一个方法 而且当每个段获得一个UIControlEventTouchDragIn因为我希望当用户尝试选择 UILabel 上的某些内容并将手指拖过控件时 UI
  • 在哪里可以找到 IntelliJ 其他语言的词典?

    IntelliJ 拼写检查器仅捆绑了英语和阿拉伯语 奇怪 我认为它是在东欧制造的 他们甚至没有捆绑他们的语言 我的客户是德国人 所以我的所有代码都是英语 代码 德语 界面 混合的 而且我找不到 IntelliJ 的德语词典 当前的IDEA版
  • 排除字符串列表中的相似点以提取差异

    我有一个句子列表 除了书名之外 其他句子都相同 如何循环遍历列表并排除相似之处以找到书名 这是一个例子 可以是任何有相似之处的短句 蝇王 这本书堪称经典 杀死一只知更鸟 是一本经典之作 麦田里的守望者 这本书堪称经典 我遇到的问题是我不能简
  • 如何阻止 Telerik RadWindow 在下一次回发时始终重新加载

    我在网页中调用 RadWindow 作为对话框 我从代码隐藏中调用 因为我需要传递一些参数 radWindow1 NavigateUrl url 英国 德国 法国 radWindow1 VisibleOnPageLoad true 这很有效
  • ruby on Rails 的 Mahout 插件

    我想在 Ruby on Rails 项目中使用 Apache Mahout 来实现推荐和协作过滤 特别是我的要求是 建议相关标签 推荐相关文章 根据用户的喜好提示他评论文章 根据用户的地理位置和其他元信息 向他推荐类似的用户 如果任何其他解
  • 我什么时候应该明确使用@synthesize?

    据我所知 从 XCode 4 4 开始 synthesize将自动生成属性访问器 但刚才我读了一个关于的代码示例NSUndoManager 并且在代码中它注意到 synthesize被明确添加 喜欢 interface RootViewCo
  • Azure DevOps 中“bash exited with code 1”中的 Cypress 测试退出失败

    我已将 Cypress 测试设置为在 Azure DevOps 中运行 我通过 yml 文件中的 CMD 命令运行测试 然后获取测试结果 当测试通过时 一切都按预期工作 并且测试结果显示在摘要中 当测试失败时 CMD 步骤会失败 并显示错误
  • 如何使用 Powershell 下载并安装适用于 Windows 的 git 客户端

    我必须编写自动 powershell 脚本来从 gihtub 克隆存储库 但我需要使用命令行安装 git 您能否让我知道如何使用命令行在窗口上下载并安装 git 而无需执行任何手动工作 提前致谢 希望在不使用巧克力的情况下做同样的事情 以下