Tôi biết đây là một câu trả lời rất muộn nhưng câu hỏi này thực sự gây chú ý với tôi bởi vì tôi đã phải đối phó với sự đau khổ từ loại lặp đi lặp lại này khá lâu rồi.
Tôi không chắc chắn về bạn nhưng tôi thực sự không (tôi nhắc lại KHÔNG ) muốn tạo bí danh cho mỗi git
lệnh, vì vậy thay vào đó tôi đã viết một tập lệnh python có tên NoGit để giải quyết vấn đề này:
#!/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 là một tập lệnh python đơn giản để ngăn chặn sự lặp lại không cần thiết của từ khóa "git".
Tài liệu:
- các
%undo
lệnh loại bỏ các lệnh cuối cùng từ stack
- các
%run
lệnh chạy các lệnh trong ngăn xếp và xóa stack
- các
%exit
lệnh đóng CLI mà không làm bất cứ điều gì
- nhấn
ctr+c
cũng giống như chạy%run; %exit
- tập lệnh lưu các lệnh đã được thực thi vào một tệp được gọi
git.history
trong cùng thư mục với tập lệnh
- bạn có thể thêm nhiều lệnh trong một dòng bằng dấu chấm phẩy
- bạn có thể sử dụng từ khóa
git
ở đầu lệnh và tập lệnh sẽ không sao chép nó ( EG: git init
không trở thành git git init
)
Các lệnh ví dụ:
init
add .
stage .
commit -m "inital commit"
%run; %exit
Thông tin bổ sung (cho người dùng Linux):
Nếu bạn muốn, bạn có thể xóa .py
tiện ích mở rộng và chuyển đổi nó thành tệp thực thi bằng cách sử dụng:
mv ./git.py ./git
chmod +x ./git
Sau đó, thay vì gọi kịch bản như thế này:
python3 git.py
Thay vào đó, bạn sẽ chạy nó:
./git
Thông tin bổ sung (dành cho người lười biếng):
Nếu bạn lười biếng và không muốn gõ ra ./
thì bạn có thể di chuyển tập lệnh này vào /bin/
thư mục của mình và tạo bí danh cho nó.
Nếu bạn thực sự, thực sự lười biếng, hãy sử dụng các lệnh sau:
sudo cp ./git /bin/nogit
sudo chmod +x /bin/nogit
alias nogit='/bin/nogit'
Nếu bạn thực sự, thực sự, thực sự lười biếng, hãy sao chép và dán một lớp lót sau:
sudo cp ./git /bin/nogit && sudo chmod +x /bin/nogit && alias nogit='/bin/nogit'
Nếu sự lười biếng của bạn đã đạt đến mức mà trước đây loài người chưa biết đến, thì đây là phiên bản nhỏ gọn hơn của cùng một lớp lót:
sudo cp ./git /bin/nogit;sudo chmod +x /bin/nogit;alias nogit='/bin/nogit'
Chúc may mắn.