每次我启动git-bash

时间:2018-06-28 17:31:51

标签: windows ssh git-bash

我正在使用Windows7。我的公司有一些存储在我们自己的git服务器上的存储库。最近,我也不得不使用GitHub,但是自从我访问了GitHub上的存储库以来,git-bash一直表现得很古怪。

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

我的git版本是2.18.0.windows.1

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

eval $(ssh-agent)

我尝试在此处使用信息: Start ssh-agent on login

在这里: https://help.github.com/articles/working-with-ssh-key-passphrases/#auto-launching-ssh-agent-on-git-for-windows

我的.profile由以下内容组成:

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 个答案:

答案 0 :(得分:0)

这两个链接均建议在.bash_profile.bashrc中添加(请参见“ What are the functional differences between .profile .bash_profile and .bashrc”)

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

请确保您的git bash将echo $HOME设置为期望值:set HOME首先是%USERPROFILE%