¿Existe una manera rápida y fácil de abrir un repositorio de git en SourceTree desde la línea de comandos?
Hago mucho trabajo de git desde Terminal, pero a veces no hay reemplazo para una buena vista / diferencia del historial. Me encantaría poder abrir sin usar marcadores.
git
command-line
atlassian-sourcetree
Loeschg
fuente
fuente
alias sourcetree='open -a SourceTree ./'
. También los usuarios de Mac pueden desear colocar el alias en.bash_profile
Es posible que la respuesta de loeschg no funcione; algunas personas obtienen un error al referirse a los registros del sistema y no pueden instalar las herramientas de línea de comandos. Hay un tema abierto sobre esto.
Aquí encontrará una solución. Utilizar:
Esto creará un enlace simbólico al
stree
binario y lo colocará/usr/local/bin
. Asegúrese de que el directorio esté en su ruta:which stree
debería resultar en/usr/local/bin/stree
. Si no es así, agréguelo a suPATH
manual o useecho export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile
, que lo hace por usted (reinicie su shell para recargar laPATH
variable).En la página de la cuestión mencionada, otra solución que no tomaron la prueba fue publicada:
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 en lugar del enlace simbólico.Para ambos métodos, la ruta a
stree
inSourceTree.app
debe coincidir, por supuesto, con la ubicación donde lo instalóSourceTree.app
.Ahora
stree
está instalado y se puede acceder a él desde cualquier directorio. La forma más corta de abrir SourceTree cuando el directorio de trabajo de su shell es el directorio raíz de un repositorio esstree .
.fuente
alias
método porque se siente menos "permanente" y más "portátil" que crear un enlace simbólico en un directorio que ya está relativamente lleno y se siente como si estuviera siendo administrado automáticamente para mí. A Homebrew le gusta enlazar simbólicamente cosas desde su Cellar allí. Además, SourceTree ha estado haciendo cambios recientemente en su interfaz de usuario que no aprecio, así que comencé a mantener varias versiones, por si acaso. El uso de alias me da una mayor flexibilidad en cuanto a qué versión me gustaría apuntar en bash.Para aquellos de ustedes en Windows, pueden agregar un archivo por lotes llamado
stree.bat
a una carpeta en su Variable de entorno PATH. (Tengo unaC:\batch
carpeta que está en mi RUTA donde almaceno todos mis archivos por lotes de utilidades). Coloque lo siguiente en su archivo por lotes:Ahora puede ir a cualquier repositorio de Git o Mercurial y ejecutar este comando que abrirá el repositorio en SourceTree.
fuente
Otra solución de Windows para quienes usan Git en la línea de comandos de 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:
Y se hará eco
c:\Temp
.O puede abrir SourceTree:
Y abrirá este repositorio en SourceTree de forma predeterminada en el panel Estado.
fuente
cygpath
, donde puedes hacer algo parecidofunction towinpath { cygpath -w $(cd $1 && pwd); }
. Esto manejará de manera más robusta cosas como las rutas UNC.Si tiene cygwin instalado, puede usarlo como su
stree.bat
. Este archivo por lotes se utilizacygpath
para resolver.
su ruta absoluta, por lo que puede hacerstree .
fuente
Ventanas
Adaptándose de múltiples respuestas aquí para Windows, estos scripts le permitirán ejecutar SourceTree desde la línea de comando (probado en SourceTree 3.0.1.7 / Windows 10).
Scripts en un directorio PATH
He colocado estos dos scripts en una carpeta que está en la RUTA de mi sistema. No tendrá que modificar su perfil de bash para este script.
Git Bash para Windows
Cree un archivo llamado
stree
(touch stree
) en su directorio vinculado PATH y ejecútelochmod u+x stree
en este archivo.Puede reemplazar "log" en la última línea con "status" si prefiere la vista del directorio de cambios / trabajo de su repositorio en SourceTree.
Símbolo del sistema o Powershell
Cree un archivo con el nombre
stree.cmd
en su directorio vinculado PATH.Tenga en cuenta que esto en realidad no abrirá el directorio como repositorio.
No dude en mejorar los scripts, especialmente el del símbolo del sistema.
fuente