题
我在Solaris服务器上运行GIT。
在Windows机器上我安装了cygwin来尝试克隆服务器上托管的存储库。
我执行以下操作:
$ git clone username@server:project.git ksh: git-upload-pack: not found
所以我试试
$ ssh username@server echo \$PATH /usr/bin
似乎git不在/ usr / bin /中,而在/ usr / local / bin /中。 我尝试在服务器上的主目录中更改.bashrc中的PATH以添加/ usr / local / bin / ...但它似乎不起作用。
我做错了什么?
解决方案
〜/ .bashrc
由非登录shell读取,但仅由 bash 读取,您的服务器使用 ksh 。
〜/ .profile
是(我认为)通用初始化文件,但只能通过登录shell 读取。
〜/ .kshrc
是ksh读取的典型启动文件,但仅当 ENV 环境变量设置为它时(但请参阅ssh_config联机帮助页中的SendEnv)。
此外,您始终可以将 - upload-pack = / usr / local / bin / git-upload-pack
选项传递给“git clone” (如果无法在远程设置PATH,则设置 remote.origin.uploadpack
配置变量)。当然 remote.origin.receivepack
如果找不到git-receive-pack。
其他提示
听起来Solaris机器上的shell是ksh而不是bash,这就是你的.bashrc没有被读取的原因。尝试将更改放在.profile
中我必须将/ usr / local / bin添加到.profile中的路径,以便在solaris上获取它(并使git upload-pack工作)。我一直认为这是我的盒子配置不当,但可能不是这样......
不隶属于 StackOverflow