Я знаю, что это очень запоздалый ответ, но этот вопрос поразил меня, потому что я имел дело с такими повторениями.
Я не уверен в вас, но, честно говоря, я не хочу (я повторяю, НЕ ) создавать псевдонимы для каждой git
команды, поэтому вместо этого я написал скрипт на языке Python под названием 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'
Удачи.