Sé que esta es una respuesta muy tardía, pero esta pregunta realmente me llamó la atención porque he estado lidiando con sufrimiento 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:
#!/usr/bin/env python
import sys, os, signal, atexit, readline, subprocess
commands, stop, history_file = [], False, os.path.join(os.getcwd(), "git.history")
def run_commands():
stop = True
for cmd in commands:
command = ["git" if not cmd.startswith("git ") else ""]
command = [cmd] if command[0] == "" else [command[0], cmd]
subprocess.Popen(command).communicate()
commands = []
def signal_handler(sig, frame):
run_commands()
sys.exit(0)
try:
readline.read_history_file(history_file)
signal.signal(signal.SIGINT, signal_handler)
while True:
if stop == True:
break
command = input("git> ")
if command == "%undo":
commands.pop()
elif command == "%run":
run_commands()
elif command == "%exit":
sys.exit(0)
else:
commands += [cmd.strip() for cmd in command.split(";")]
signal.pause()
readline.set_history_length(-1)
except IOError:
pass
atexit.register(readline.write_history_file, history_file)
NoGit es un script simple de Python para evitar la repetición innecesaria de la palabra clave "git".
Documentación:
- el
%undo
comando elimina el último comando de la pila
- el
%run
comando ejecuta los comandos en la pila y borra la pila
- el
%exit
comando cierra la CLI sin hacer nada
- presionar
ctr+c
es lo mismo que correr%run; %exit
- el script guarda los comandos que se ejecutaron en un archivo llamado
git.history
en la misma carpeta que el script
- puedes agregar múltiples comandos en una línea usando un punto y coma
- puede usar la palabra clave
git
al comienzo del comando y el script no la duplicará (por ejemplo, git init
no se convierte git 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:
mv ./git.py ./git
chmod +x ./git
Luego, en lugar de llamar al script de esta manera:
python3 git.py
En su lugar, ejecutarías esto:
./git
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:
sudo cp ./git /bin/nogit
sudo chmod +x /bin/nogit
alias nogit='/bin/nogit'
Si eres muy, muy, muy vago, copia y pega la siguiente línea:
sudo cp ./git /bin/nogit && sudo chmod +x /bin/nogit && alias nogit='/bin/nogit'
Si su pereza ha alcanzado niveles previamente desconocidos para la humanidad, aquí hay una versión más compacta de la misma frase:
sudo cp ./git /bin/nogit;sudo chmod +x /bin/nogit;alias nogit='/bin/nogit'
Buena suerte.