私は、これは非常に遅く答えである知っているが、私はしてきたので、この質問は本当に私と一緒にノートを打たを扱う今はかなりしばらくの間、繰り返しのこの種の苦しみ。
私はあなたのことはわかりませんが、正直に言って(私は繰り返しません)すべてのgitコマンドのエイリアスを作成したくないので、代わりにこの問題を解決するためにNoGitと呼ばれるpythonスクリプトを書きました:
#!/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は、「git」キーワードの不要な繰り返しを防ぐための単純なPythonスクリプトです。
ドキュメンテーション:
- %undoコマンドはスタックから最後のコマンドを削除します
- %runこのコマンドは、スタック内のコマンドを実行し、スタックをクリア
- の %exitコマンドは何もせずにCLIを閉じ
- 押すことctr+cは実行することと同じです%run; %exit
- スクリプトは、呼び出されたファイルに実行されたコマンドを保存します git.historyと同じフォルダーにあるれ
- セミコロンを使用して1行に複数のコマンドを追加できます
- gitコマンドの最初にキーワードを使用でき、スクリプトはそれを複製しません(例:に- 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'
幸運を。