Wiem, że to bardzo późna odpowiedź, ale to pytanie naprawdę przykuło moją uwagę, ponieważ od dłuższego czasu mam do czynienia z cierpieniem z powodu tego rodzaju powtórzeń.
Nie jestem pewien co do ciebie, ale szczerze mówiąc nie chcę (powtarzam NIE ) tworzenia aliasów dla każdego git
polecenia, więc zamiast tego napisałem skrypt Pythona o nazwie NoGit, aby rozwiązać ten problem:
#!/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 to prosty skrypt w języku Python, który zapobiega niepotrzebnemu powtarzaniu słowa kluczowego „git”.
Dokumentacja:
%undo
polecenie usuwa ostatnią komendę ze stosu
%run
polecenie uruchamia polecenia w stosie i czyści stos
%exit
komenda zamyka CLI bez robienia czegokolwiek
- naciskanie
ctr+c
jest takie samo jak bieganie%run; %exit
- skrypt zapisuje polecenia, które zostały wykonane, w pliku wywoływanym
git.history
w tym samym folderze co skrypt
- możesz dodać wiele poleceń w jednym wierszu za pomocą średnika
- możesz użyć słowa kluczowego
git
na początku polecenia, a skrypt go nie powieli (np . : git init
nie stanie się git git init
)
Przykładowe polecenia:
init
add .
stage .
commit -m "inital commit"
%run; %exit
Informacje dodatkowe (dla użytkowników Linuksa):
Jeśli chcesz, możesz usunąć .py
rozszerzenie i przekonwertować je na plik wykonywalny, używając:
mv ./git.py ./git
chmod +x ./git
Następnie zamiast wywoływać skrypt w następujący sposób:
python3 git.py
Uruchomiłbyś to zamiast tego:
./git
Informacje dodatkowe (dla leniwych):
Jeśli jesteś leniwy i nie chcesz pisać, ./
możesz przenieść ten skrypt do swojego /bin/
folderu i utworzyć dla niego alias.
Jeśli jesteś naprawdę, bardzo leniwy, użyj następujących poleceń:
sudo cp ./git /bin/nogit
sudo chmod +x /bin/nogit
alias nogit='/bin/nogit'
Jeśli jesteś naprawdę, naprawdę, naprawdę leniwy, skopiuj i wklej następujący jedno-liner:
sudo cp ./git /bin/nogit && sudo chmod +x /bin/nogit && alias nogit='/bin/nogit'
Jeśli twoje lenistwo osiągnęło poziomy nieznane wcześniej ludzkości, oto bardziej kompaktowa wersja tego samego liniowca:
sudo cp ./git /bin/nogit;sudo chmod +x /bin/nogit;alias nogit='/bin/nogit'
Powodzenia.