¿Cómo se abre SourceTree desde la línea de command?

¿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.

herramientas de línea de comandos de 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.