Je sais que c'est une réponse très tard , mais cette question vraiment frappé une note avec moi parce que j'ai affaire à la souffrance de ce genre de répétition pour un certain temps maintenant.
Je ne suis pas sûr de vous mais honnêtement, je ne veux pas (je répète NE PAS ) créer des alias pour chaque git
commande, alors j'ai plutôt écrit un script python appelé NoGit pour résoudre ce problème:
#!/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 est un simple script python pour éviter la répétition inutile du mot-clé "git".
Documentation:
- la
%undo
commande supprime la dernière commande de la pile
- la
%run
commande exécute les commandes dans la pile et efface la pile
- la
%exit
commande ferme la CLI sans rien faire
- presser
ctr+c
équivaut à courir%run; %exit
- le script enregistre les commandes qui ont été exécutées dans un fichier appelé
git.history
dans le même dossier que le script
- vous pouvez ajouter plusieurs commandes sur une seule ligne en utilisant un point-virgule
- vous pouvez utiliser le mot-clé
git
au début de la commande et le script ne le dupliquera pas ( EG: git init
ne devient pas git git init
)
Exemples de commandes:
init
add .
stage .
commit -m "inital commit"
%run; %exit
Informations supplémentaires (pour les utilisateurs Linux):
Si vous le souhaitez, vous pouvez supprimer l' .py
extension et la convertir en exécutable en utilisant:
mv ./git.py ./git
chmod +x ./git
Alors au lieu d'appeler le script comme ceci:
python3 git.py
Vous exécuteriez ceci à la place:
./git
Informations supplémentaires (pour les paresseux):
Si vous êtes paresseux et que vous ne voulez pas taper un, ./
vous pouvez déplacer ce script dans votre /bin/
dossier et créer un alias pour celui-ci.
Si vous êtes vraiment, vraiment paresseux, utilisez les commandes suivantes:
sudo cp ./git /bin/nogit
sudo chmod +x /bin/nogit
alias nogit='/bin/nogit'
Si vous êtes vraiment, vraiment, vraiment paresseux, copiez et collez le one-liner suivant:
sudo cp ./git /bin/nogit && sudo chmod +x /bin/nogit && alias nogit='/bin/nogit'
Si votre paresse a atteint des niveaux auparavant inconnus de l'humanité, voici une version plus compacte du même one-liner:
sudo cp ./git /bin/nogit;sudo chmod +x /bin/nogit;alias nogit='/bin/nogit'
Bonne chance.