首页 > 系统相关 >记如何让Visual Studio、Powershell和Git for Windows和谐共处

记如何让Visual Studio、Powershell和Git for Windows和谐共处

时间:2022-09-06 18:25:50浏览次数:119  
标签:Git Windows System32 Visual VS SSH Powershell

目录

前言

Visual Studio在2019版本中正式加入了对Git的支持。但如果未进行过相关的环境配置,在VS中使用内置Git将无法与SSH仓库同步。尤其是习惯于使用其它终端(如Powershell、Git Bash等)的用户而言,这个看起来便捷的系统反而徒增烦恼。本文记录了我在查阅国内外无数资料,踩坑无数后的解决方案。希望给简中互联网带来我的解决方案。

环境

Windows_NT 10.0.22000
Powershell v7.2.6
Visual Studio 2022 v17.3.3
独立安装Git for Windows
在Windows设置App中安装的SSH客户端

解决方案

步骤

  1. 在系统环境变量中添加 GIT_SSH 变量,指向系统自带的SSH客户端 C:\Windows\System32\OpenSSH\ssh.exe 。若仍会报错,尝试将System32更改为 SysNative
  2. 若系统环境变量中的路径为SysNative,则需在终端的配置文件中(以Powershell为例)添加 $env:GIT_SSH = "C:\Windows\System32\OpenSSH\ssh.exe"行,将Git使用的SSH地址指回真实目录。

原理

VS调用的git.exe是随其安装的Git而不是用户独立安装的Git,因此VS无法使用已在终端配置好的SSH密钥。在环境变量中添加GIT_SSH则强行指定,无论git的安装位置,统一使用系统的SSH客户端。此时VS便能正确使用之前在终端配置好的SSH密钥。

在一些尚不明确的机制下,VS有时会将 System32 解析为 SysWOW64 。此时使用SysNative,便可强制指定VS使用真实System32内的OpenSSH。但这样一来,所有终端便无法正确调用SSH。因此还需在终端的配置文件中,将GIT_SSH的路径指回真实地址。

标签:Git,Windows,System32,Visual,VS,SSH,Powershell
From: https://www.cnblogs.com/htw128/p/16101664.html

相关文章

  • 【转载】Windows 10 注册表设置开机启动项
    转载https://zhuanlan.zhihu.com/p/64979960步骤按windows键+R,输入regedit,然后确定,提示打开注册表编辑器,打开即可。(也可以按下win键之后搜索注册表)找到计......
  • electron程序运行在某些 windows 上白屏
    现象:打包后的electron程序运行在某些windows上白屏 项目情况:vue3.0 项目使用vue-cli创建使用vueaddelectron-builder添加打包插件测试判断:经测试在某......
  • 老牌Git客户端
    SmartGit21中文版是一款Git版本控制系统的图形化客户端程序,支持GitHubPullRequests+Comments和SVN,软件采用图像化的显示界面,使您的观看更加的直观,也可以快速的了解您......
  • 解决visual studio下载失败问题
    1:使用站长工具,查询下列dns Dns检测|Dns查询-站长工具(chinaz.com) aka.ms download.visualstudio.microsoft.com然后2:修改hosts此路径下C:\Windows\System32\dri......
  • Windows无法刻录的问题
    Windows无法刻录的问题2.进入注册表编辑器,到左边的项目栏里找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}......
  • GitLab 版本升级
    升级前需要参考官方指引,逐版本升级官方指引https://docs.gitlab.com/ee/update/index.html#upgrade-paths8.11.Z->8.12.0->8.17.7->9.5.10->10.8.7->11.11.8......
  • c# 调用Windows API
    c#调用WindowsAPI前言看点代码安抚浮躁的心对应表API数据类型WindowsAPI时的数据类型BOOLSystem.Int32BOOLEANSystem.Int32BYTESystem.UInt16......
  • git - idea 修改文件名后提交git时 ,发现新文件名的文件没有差异导致无法提交
    1.原因git默认是忽略文件名差异的,需要启动需要指令开启2.开启指令gitconfigcore.ignorecasefalse3.副作用开启后提交文件,会发现git远程仓库里存在新旧两位文件......
  • Git 之 revert
    转自:Git之revertrevert可以撤销指定的提交内容,撤销后会生成一个新的commit。1、两种commit:当讨论revert时,需要分两种情况,因为commit分为两种:一种是常规的c......
  • Git安装及密钥的生成以及如何查看秘钥文件夹位置
    一、Git下载安装及密钥生成1、Git下载到官网去下载2、Git安装(很简单),安装成功后,鼠标右键打开GitBash3、用户名邮箱注册$gitconfig--globaluser.name"user.name"$......