Estou usando o ssh para conectar-se a um servidor remoto. No servidor, há um repositório git chamado MRFLSSVM
. No entanto, quando executo magit-status
em:
/ssh:qmServer:/home/Chang/qmCodeLab/MRFLSSVM/
Magit me pede Create repository in /ssh:qmServer:/home/Chang/qmCodeLab/MRFLSSVM/?
.
Alguma idéia de como deixar o magit reconhecer esse repositório? (Eu já instalei o git 2.10.0 em / usr / local / git e configurei meu sistema (CentOS) para usá-lo por update-alternative)
-----------Editar------------------------------
Error (magit): Magit requires Git >= 1.9.4, you are using 1.8.3.
If this comes as a surprise to you, because you do actually have
a newer version installed, then that probably means that the
older version happens to appear earlier on the `$PATH'. If you
always start Emacs from a shell, then that can be fixed in the
shell's init file. If you start Emacs by clicking on an icon,
or using some sort of application launcher, then you probably
have to adjust the environment as seen by graphical interface.
For X11 something like ~/.xinitrc should work.
If you use Tramp to work inside remote Git repositories, then you
have to make sure a suitable Git is used on the remote machines
too.
Error (magit): Magit requires Git >= 1.9.4, but on /ssh:qmServer: the version is 1.8.3.
If multiple Git versions are installed on the host then the
problem might be that TRAMP uses the wrong executable.
First check the value of `magit-git-executable'. Its value is
used when running git locally as well as when running it on a
remote host. The default value is "git", except on Windows
where an absolute path is used for performance reasons.
If the value already is just "git" but TRAMP never-the-less
doesn't use the correct executable, then consult the info node
`(tramp)Remote programs'.
Esse problema parece tramp
não estar usando o git correto no servidor remoto. Eu tentei mudar magit-git-executable
para usr/local/git/bin/git
qual é o caminho do meu git local e remoto instalado. Mas isso ainda não funciona.
Alguma idéia para resolver isso? Obrigado!
Respostas:
A lista de diretórios para procurar executáveis em máquinas remotas é controlado pela opção
tramp-remote-path
. Começa com um elemento "o que o controle remoto me disse o que eu deveria estar usando", mas na minha experiência isso não funciona tão bem. Em particular, ele ignora quaisquer alterações$PATH
feitas no arquivo de configuração do seu shell, acredito.Então, no seu arquivo init, coloque
/usr/local/git/bin
antes/usr/bin
emtramp-remote-path
:fonte
Se a sua versão git estiver correta, o problema pode estar na configuração deste repositório git, por exemplo, um erro de sintaxe no
.git/config
.Para verificar isso, abra um shell na máquina e no diretório do repositório e digite
git status
fonte