¿Existe una manera rápida y fácil de abrir un repository git en SourceTree desde la command-line?
Hago mucho trabajo git desde la Terminal, pero a veces no hay reemploop para una buena vista de historial / diff. Me encantaría poder abrir sin usar marcadores.
La installation de las herramientas de command-line de SourceTree le proporcionará el command stree
. Esto le permitirá abrir el directory actual en SourceTree.
También puede especificar una ruta particular a un repository
stree ~/my-repo-in-another-folder
Si la installation de herramientas de command-line no es una opción por el motivo que sea, también puede hacer lo siguiente:
open -a SourceTree path-to-file
y tal vez configurar un alias en .bashrc o .zshrc
alias sourcetree='open -a SourceTree'
La respuesta de loeschg puede no funcionar; algunas personas obtienen un error al referirse a los loggings de su sistema y no pueden instalar las herramientas de línea de command. Hay un problema abierto sobre esto.
Una solución alternativa se encuentra aquí. Utilizar:
ln -s /Applications/SourceTree.app/Contents/Resources/stree /usr/local/bin/
Esto creará un enlace simbólico al stree
binary y lo colocará en /usr/local/bin
. Asegúrese de que el directory esté en su ruta: which stree
ruta debe dar como resultado /usr/local/bin/stree
. Si no lo hace, agréguelo manualmente a su PATH
o use echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile
, que lo hace por usted (reinicie su shell para volver a cargar la variable PATH
)
En la página del problema mencionado anteriormente, se publicó otra solución que no alias stree='/Applications/SourceTree.app/Contents/Resources/stree'
: alias stree='/Applications/SourceTree.app/Contents/Resources/stree'
. Si lo usa, informe en los comentarios si y cómo funciona y por qué lo prefiere sobre el enlace simbólico.
Para ambos methods, la ruta a SourceTree.app
en SourceTree.app
debe, por supuesto, coincidir con la location donde instaló SourceTree.app
.
Ahora, stree
está instalado y se puede acceder desde cualquier directory. La forma más rápida de abrir SourceTree cuando el directory de trabajo de su shell es el directory raíz de un repository es stree .
.
Para aquellos de ustedes en Windows, pueden agregar un file por lotes llamado stree.bat
a una carpeta en su variable de entorno PATH. (Tengo una carpeta C:\batch
que está en mi PATH donde almaceno todos mis files de lotes de utilidad). Ponga lo siguiente en su file por lotes:
@echo off start "" "C:\Program Files (x86)\Atlassian\SourceTree\SourceTree.exe"
Ahora puede ir a cualquier repository de Git o Mercurial y ejecutar este command que abrirá el repository en SourceTree.
Otra solución de Windows para quienes usan Git en la línea de command Bash (msys).
Agregue dos funciones a su Bash .profile:
# Courtesy: http://stackoverflow.com/questions/12015348/msys-path-conversion-or-cygpath-for-msys function towinpath { { cd $1 && pwd -W; } | sed 's|/|\\|g' } function stree { if [ -z $1 ]; then stree_path=$(towinpath pwd) else stree_path=$(towinpath $1) fi echo "Starting SourceTree in $stree_path" /c/Program\ Files\ \(x86\)/Atlassian/SourceTree/SourceTree.exe -f $stree_path status }
Recarga tu caparazón.
Ahora puedes usar:
$ towinpath /c/Temp
Y hará eco c:\Temp
.
O puede abrir SourceTree:
$ stree .
Y abrirá este repository en SourceTree de forma pnetworkingeterminada en el panel de Estado.