Me pregunto si hay una manera de evitar tener que escribir la palabra git
al comienzo de cada comando Git.
Sería bueno si hubiera una manera de usar el git
comando solo una vez al principio después de abrir un símbolo del sistema para ingresar al "modo Git" .
Por ejemplo:
git>
Después de lo cual, cada comando que escribimos se interpreta por defecto como un comando Git.
De manera similar a cómo usamos el shell MySQL para escribir comandos de la base de datos:
mysql>
Esto me ahorrará tener que escribir git
cientos de veces al día.
NOTA: Estoy usando git-bash
, en Windows.
Respuestas:
Es posible que desee probar gitsh . De su léame:
O echa un vistazo a los otros proyectos vinculados allí:
Nota: No he usado esto yo mismo.
fuente
repl(1)
no es una REPL. No evalúa ni imprime nada. Ejecuta programas.fork()
/exec()
), porrepl(1)
lo que ni siquiera está haciendo eso .IO
acciones por defecto y las ejecutará, incluidos los efectos secundarios, como imprimir en la pantalla conectada al terminal.repl
no es un REPL independiente; Es un medio de crear un sistema REPL en el querepl
solo se encuentra el componente interactivo. ¿Es eso justo?Un Perl one-liner que hará esto:
Esto ejecutará lo que escriba, con el prefijo
git
. Y seguirá haciéndolo hasta que golpees^D
.fuente
-ne
banderas de Perl ).perl -MTerm::ReadLine -E '$n = Term::ReadLine -> new ("git"); while ($_ = $n -> readline ("git > ")) {system "git $_"}'
Esto no es exactamente lo que está pidiendo, pero puede configurar algunos alias de shell en
~/.bashrc
los comandos Git que usa con más frecuencia:También tenga en cuenta que puede crear alias dentro de Git:
Esto le permite escribir en
git ci
lugar degit commit
, y así sucesivamente.fuente
git hash-object
ogit interpret-trailers
? Solo estoy ofreciendo esto como una alternativa porque, hasta donde yo sé, lo que está preguntando realmente no existe.ci
paracommit
, también uso un alias de shellg
paragit
, esto reduce la mayor parte de la escritura y me permite permanecer en mi shell preferido.Soy un gran fanático del uso de alias en ~ / .bash_profile para mi GitBash. Si sigue este enfoque, estos son algunos de mis favoritos:
fuente
commit
push
Usa tu editor.
Escriba el comando like
commit
de su editor favorito como vs code y sea más eficiente con git:O escriba
git
para obtener todos los comandos:fuente
Un amigo mío hizo un pequeño script de bash que logra esto. Se llama Replificar .
fuente
eval
la fuente del script original no es la mejor idea. Dile a tu amigo que usewhile IFS= read -r -p "git> " gitcmd; do [ "x$gitcmd" != "x" ] && git "$gitcmd";done
en su lugarAquí hay otra manera. Tampoco es exactamente lo que se pidió, pero lo he estado usando durante algún tiempo y es bastante agradable. Agregue la siguiente línea a su
~/.bashrc
:Ahora, presionando Tab en un indicador de Bash vacío escribirá "git".
fuente
~/zshrc
, para tcsh, lo colocará~/tcshrc
, etc.Sé que esta es una respuesta muy tardía, pero esta pregunta realmente me llamó la atención porque he estado
lidiando consufrimiento de este tipo de repetición durante bastante tiempo.No estoy seguro de ti, pero honestamente no (repito NO ) quiero crear alias para cada
git
comando, así que escribí un script de Python llamado NoGit para resolver este problema:NoGit es un script simple de Python para evitar la repetición innecesaria de la palabra clave "git".
Documentación:
%undo
comando elimina el último comando de la pila%run
comando ejecuta los comandos en la pila y borra la pila%exit
comando cierra la CLI sin hacer nadactr+c
es lo mismo que correr%run; %exit
git.history
en la misma carpeta que el scriptgit
al comienzo del comando y el script no la duplicará (por ejemplo,git init
no se conviertegit git init
)Comandos de ejemplo:
init
add .
stage .
commit -m "inital commit"
%run; %exit
Información adicional (para usuarios de Linux):
Si lo desea, puede eliminar la
.py
extensión y convertirla en un ejecutable usando:Luego, en lugar de llamar al script de esta manera:
En su lugar, ejecutarías esto:
Información adicional (para personas perezosas):
Si eres flojo y no quieres escribir un,
./
entonces puedes mover este script a tu/bin/
carpeta y crear un alias para él.Si usted es realmente, realmente perezoso, utilice los siguientes comandos:
Si eres muy, muy, muy vago, copia y pega la siguiente línea:
Si su pereza ha alcanzado niveles previamente desconocidos para la humanidad, aquí hay una versión más compacta de la misma frase:
Buena suerte.
fuente
Otro enfoque que funcionará con cualquier comando: use Ctrl + R (reverse-i-search).
Reverse-i-search le permite buscar en su historial de comandos. Repita Ctrl + R después de presionar su cadena de búsqueda para repetir la búsqueda más atrás con la misma cadena.
Solo necesita escribir un comando una vez, luego puede recuperar ese comando de cualquier subcadena del comando. En la mayoría de los casos, puede recuperar comandos completos muy largos y sus diversas variantes con solo dos o tres letras de búsqueda bien ubicadas. No se necesitan configuraciones previas que no sean usar su shell normalmente y es autoadaptable a la forma en que usó el shell, simplemente escriba el comando completo una vez y los comandos se agregarán automáticamente a su historial de comandos.
git commit --amend
:<Ctrl+R>am
git pull
:<Ctrl+R>pu
git rebase --rebase-merges -i --onto origin/develop origin/develop feature/blue-header
:<Ctrl+R>blu
git rebase --abort
:<Ctrl-R>ab
git rebase --continue
:<Ctrl-R>con
docker-compose stop && git pull && make && docker-compose up -d
:<Ctrl-R>up
Además, Ctrl-R funciona no solo en bash, sino en muchos programas que usan la biblioteca readline (y hay muchos de ellos), como Python shell, IPython, mysql shell, psql shell, irb (ruby), etc.
fuente
En su ejemplo, lo compara con un indicador de MySql. La forma en que funciona es que se inicia un proceso MySql y usted le da sus comandos a ese proceso. Como tal, ¿por qué no escribir algo similar en su idioma de elección? Aquí hay un ejemplo simple en C ++:
Tenga en cuenta que acabo de escribir eso de memoria y que no lo comprobé con un compilador. Puede haber errores de sintaxis triviales.
fuente
Para cosas básicas, puedes hacer:
Salir con ctrl + c
fuente
;
after do conduce abash: syntax error near unexpected token
: `` Segundo, laeval
parte es propensa a vulnerabilidades. Por ejemplo, considere lo que sucede si escribostatus;cat /etc/passwd
en este pequeño shell. Ejemplo inofensivo, pero usted tiene la idea de lo que puede suceder. Puede simplificar eso enwhile IFS= read -r -p "git> " gitcmd; do [ "x$gitcmd" != "x" ] && git "$gitcmd";done
Esto, por supuesto, no es a prueba de balas, pero 1, es más simple y 2, evita la ejecución de comandos no git (en virtud de comillas dobles). No es ideal, solo un poco mejorsystem
o\!
al principio al menos. Cuando la suposición podría ser que esta "réplica"git
solo ejecuta comandos, de hecho permite más que eso.eval
no es la mejor idea para ejecutar comandos, especialmente cuando se trata de una entrada controlada por el usuario.do
. ¡Gracias! re: seguridad: Esto obviamente no está destinado a ser distribuido como una aplicación separada. Simplemente ingrese su.bash_profile
si no le gusta escribir git. No me preocupa demasiado que sea "inseguro". Si pegas cosas en tu bash que no entiendes (incluido este script en línea), lo pasarás mal. Me gusta esto porque es simple, fácil de escribir y fácil de leer, y fácil de mejorar.Cuando utilicé Windows 7 con Conemu, agregué lo siguiente a mi script de inicio del entorno de desarrollo:
Con esto, podría usar el
g
comando en lugar de escribirgit
. La última vez que probé con Windows 10 y Conemu, no funcionó, creo que hay un error, pero vale la pena intentarlo.fuente
Use un editor de corchetes, es fácil usar su código y comandos git, también tiene muchas características.
En la esquina superior derecha, el segundo ícono binocular se usa para instalar extensiones.
Busque la extensión
brackets git
como la imagen de arriba e instálela.Una vez más, en la esquina superior derecha, aparecerá el cuarto icono, así que solo haga clic y vea los cambios como en la imagen de arriba.
Si desea instalar corchetes, use los siguientes comandos:
Para obtener más información, puede leer: Cómo instalar Brackets Code Editor en Ubuntu y Linux Mint en Ubuntupit .
fuente