我在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工作)。我一直认为这是我的盒子配置不当,但可能不是这样......

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top