Pergunta

Eu tenho GIT executado em um servidor Solaris.

A partir de uma máquina Windows eu instalei cygwin para tentar clonar um repositório hospedado no servidor.

Eu faço o seguinte:

$ git clone username@server:project.git
ksh: git-upload-pack: not found

Então eu tento

$ ssh username@server echo \$PATH
/usr/bin

Parece que git não é em / usr / bin / mas / usr / local / bin /. Eu tentei mudar o caminho na .bashrc no meu diretório home no servidor para adicionar / usr / / bin local / ... mas não parece trabalho.

O que estou fazendo de errado?

Foi útil?

Solução

~/.bashrc é lido por conchas não-login, mas apenas por festa , e seus usos servidor ksh .
~/.profile é (eu acho) arquivo de inicialização universal, mas é lido apenas por shells de login .
~/.kshrc é arquivo de inicialização típico lido por ksh, mas só se ENV variável ambiental é definido para ele (mas ver SendEnv na manpage ssh_config).


Além disso, você pode sempre opção --upload-pack=/usr/local/bin/git-upload-pack para "clone git" pass (e, em seguida, variável conjunto de configurações remote.origin.uploadpack) se você não set PATH no controle remoto pode. E, claro remote.origin.receivepack se não puder encontrar git-receber-pack.

Outras dicas

Parece que o seu shell na máquina Solaris é ksh e não bash, razão pela qual seu .bashrc não está sendo lido. Tente colocar a mudança em .profile

Eu tive que adicionar / usr / / bin local para o meu caminho em .profile para que possa ser pego no Solaris (e obter git upload-pack para o trabalho). Eu sempre pensei que era minhas caixas que foram mal configurados, mas talvez não tão ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top