Estoy usando ssh para conectarme a un servidor remoto. En el servidor hay un repositorio git llamado MRFLSSVM
. Sin embargo, cuando ejecuto magit-status
en:
/ssh:qmServer:/home/Chang/qmCodeLab/MRFLSSVM/
Magit me lo pide Create repository in /ssh:qmServer:/home/Chang/qmCodeLab/MRFLSSVM/?
.
¿Alguna idea de cómo dejar que magit reconozca ese repositorio? (Ya instalé git 2.10.0 en / usr / local / git y configuré mi sistema (CentOS) para usarlo con las alternativas de actualización)
-----------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'.
Este problema parece ser tramp
que no está utilizando el git correcto en el servidor remoto. He tratado de cambio magit-git-executable
a usr/local/git/bin/git
que es el camino tanto de mi git local y mandos a distancia instalado. Pero esto todavía no funciona.
¿Alguna idea para resolver esto? ¡Gracias!
Respuestas:
La lista de directorios para buscar ejecutables en hosts remotos está controlada por la opción
tramp-remote-path
. Comienza con un elemento "lo que el control remoto me dijo qué debería usar", pero en mi experiencia eso no funciona tan bien. En particular, ignora cualquier cambio$PATH
que haya realizado en el archivo de configuración de su shell, creo.Entonces, en su archivo init, ponga
/usr/local/git/bin
antes/usr/bin
entramp-remote-path
:fuente
Si su versión de git está bien, el problema puede estar en la configuración de este repositorio de git, por ejemplo, un error de sintaxis en
.git/config
.Para verificar eso, abra un shell en la máquina y directorio del repositorio, y escriba
git status
fuente