当前位置: 首页 > 知识库问答 >
问题:

每次启动git bash时都需要发出ssh代理命令

简景焕
2023-03-14

我正在使用Windows 7。我的公司在我们自己的git服务器上存储了一些回购协议。最近我还不得不使用GitHub,但自从我访问了GitHub上的回购协议之后,git bash的表现就非常不稳定。

归根结底,每次我打开git bash,如果我尝试拉,我会得到:“错误:无法跨越git:没有这样的文件或目录。”

我的git版本是2.18.0。窗户。1.

我发现每次启动git-bash时都必须手动执行此命令:

eval $(ssh-agent)

我已经尝试使用这里的信息:登录时启动ssh代理

这里:https://help.github.com/articles/working-with-ssh-key-passphrases/#auto-在git for windows上启动ssh代理

我的配置文件包括以下内容:

env=~/.ssh/agent.env

agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }

agent_start () {
    (umask 077; ssh-agent >| "$env")
    . "$env" >| /dev/null ; }

agent_load_env

# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)

if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
    agent_start
    ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
    ssh-add
fi

unset env

但是没有...每当我启动git-bash时,我仍然需要手动执行该命令。(上面的代码应该可以消除这种必要性。)

共有1个答案

梁季
2023-03-14

这两个链接都建议将其添加到<代码>中。bash\u配置文件或。bashrc(请参阅“profile.bash_profile和bashrc之间的功能差异是什么”)

先尝试一下,而不是使用. profile

确保git bash将$HOME返回到预期值:首先将HOME设置为%USERPROFILE%

 类似资料:
  • 问题内容: 我试图在每次启动Ajax调用时在$ rootScope上触发一个事件。 事件“ httpCallStarted”没有被触发。我怀疑在配置块中使用$ rootScope或任何其他实例服务是不正确的。如果是这样,如何在每次启动HTTP调用时获取事件,而不必在每次调用时都传递配置对象? 提前致谢 问题答案: 您总是可以将$ http包装在服务中。由于服务仅设置一次,因此您可以让服务工厂为您设

  • 我在Windows 10专业版计算机上尝试进行git拉取,而无需每次都输入我的SSH密码。密钥对已生成,带有密码,并且公钥已成功添加到我的 GitLab 帐户中。 在“服务”GUI中,我可以看到“OpenSSH身份验证代理”正在运行,在PowerShell中,如果我这样做,我会看到以下内容,确认相同的信息: 当我执行 时,我收到“欢迎使用 Gitlab”消息,指示成功的 ssh 连接,没有密码输入

  • 我正在运行带有 WSL2 的视窗 10。我正在使用带有远程 - WSL扩展名的VSCode从我的wsl文件系统中打开文件。 当我启动我的Windows笔记本电脑并打开VSCode时,我收到以下错误: 当我执行<code>wsl时。exe——关闭PowerShell中的</code>,然后重新启动Docker Desktop,一切正常。但每次笔记本电脑重启后,我都必须这样做。 远程WSL扩展版本:v

  • 我正在执行多个ajax调用,我想在显示表单之前完成所有这些调用。如果有错误,我想停止处理,只显示遇到的第一个错误。我谷歌了很多文章,包括StackOverflow上的文章,这些文章展示了如何链接当时的语句。但是似乎我必须给每个语句都附加一个捕获,否则只捕获最后一个语句中的错误。在本例中,Lookup是一个返回promise的异步调用,ShowError处理错误: 假设至少有一个错误,是否有任何方法

  • DocuSign中的查询会记住签名。想关掉那个功能和我的相似。我尝试了帖子中提到的答案,但没有帮助。

  • 把别人的配置脚本拷贝过来之后,是使用vundle进行插件管理的,所以的插件都安装完成之后,发现每次使用vim打开新的文件的时候都需要重新使用bundleInstall才能使用插件,在脚本写什么才能不做这重复的工作? 此外,.vimrc的这句话被我注释掉了: call vundle#end() 因为不注释掉,使用vim打开文件后就莫名的stopped了,会有影响什么的吗?