Я знаю, що це дуже пізня відповідь, але це запитання справді вразило мене, оскільки я вже багато часу маю справу з стражданням від такого роду повторень.
Я не впевнений у вас, але я, чесно кажучи , не хочу (повторюю НЕ ), не хочу створювати псевдоніми для кожної git
команди, тому замість цього я написав сценарій пітона під назвою NoGit для вирішення цієї проблеми:
#!/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 - це простий скрипт python для запобігання непотрібного повторення ключового слова "git".
Документація:
%undo
команда видаляє останню команду з стека
- то
%run
команда запускає команди в стек і очищає стек
- то
%exit
команда закриває CLI , нічого не роблячи
- пресування
ctr+c
- те саме, що біг%run; %exit
- скрипт зберігає команди, які були виконані у файлі під назвою
git.history
у тій же папці, що і сценарій
- ви можете додати кілька команд в один рядок, використовуючи крапку з двокрапкою
- ви можете використовувати ключове слово
git
на початку команди, і скрипт не буде його дублювати ( EG: git init
не стає git git init
)
Приклад команд:
init
add .
stage .
commit -m "inital commit"
%run; %exit
Додаткова інформація (для користувачів Linux):
Якщо ви хочете, ви можете видалити .py
розширення та перетворити його у виконуваний файл за допомогою:
mv ./git.py ./git
chmod +x ./git
Тоді замість називати сценарій так:
python3 git.py
Ви б запустили це замість цього:
./git
Додаткова інформація (для ледачих):
Якщо ви лінь і не хочете друкувати, ./
ви можете перемістити цей скрипт у свою /bin/
папку і створити псевдонім для нього.
Якщо ви справді, дуже ледачий, скористайтеся такими командами:
sudo cp ./git /bin/nogit
sudo chmod +x /bin/nogit
alias nogit='/bin/nogit'
Якщо ви справді, дуже- дуже ледачі, скопіюйте та вставте наступний однокласник:
sudo cp ./git /bin/nogit && sudo chmod +x /bin/nogit && alias nogit='/bin/nogit'
Якщо ваша лінь досягла раніше невідомого людству рівнів, ось більш компактна версія того ж однолінійного:
sudo cp ./git /bin/nogit;sudo chmod +x /bin/nogit;alias nogit='/bin/nogit'
Удачі.