HOWTO · Git
1つのコマンドで git add、git commit、および git push
Git では、1つのコマンドでファイルを追加、コミット、およびプッシュできます。
このページの内容
この記事では、1つのコマンドでファイルをリモート リポジトリに追加、コミット、およびプッシュするために使用できる 2つの方法について説明します。 単一のファイルに小さな変更を加える場合でも、変更をリモート リポジトリに公開する 3 段階のプロセスに従う必要があります。
幸いなことに、変更をリモート リポジトリに追加、コミット、およびプッシュするコマンドを作成できます。
1つのコマンドで git add、git commit、および git push
これには 2つの方法があります。
- bash 関数を作成します。
- エイリアスを作成します。
Bash 関数を作成する
ローカルの変更をリモート リポジトリに追加、コミット、およびプッシュする Bash 関数を作成できます。 この関数は、.bashrc ファイルに保存する必要があります。
.bashrc ファイルは、端末のセッションの構成を定義する単なるシェル スクリプトです。
このファイルは通常、ホーム ディレクトリにあります。 ホーム ディレクトリは、Git Bash を起動したときに立っているディレクトリです。
.bashrc ファイルがない場合は、Bash を起動し、以下のコマンドを使用して作成します。
$ touch ~/.bashrc
.gitconfig ファイルと同様に、.bashrc は隠しファイルです。 以下のコマンドを実行して、関数を .bashrc ファイルに追加します。
$ notepad ~/.bashrc
このコマンドはメモ帳でファイルを開き、以下に示す関数を追加できます。
function acp() {
git add .
git commit -m "$1"
git push origin HEAD
}
git commit の "$1" により、acp コマンドの実行時にカスタム コミット メッセージを指定できます。
関数には任意の名前を付けることができます。 ファイルを保存し、以下のコマンドを実行して機能を有効にします。
$ source ~/.bashrc
新しい Git バージョンは --login で始まることに注意してください。 このような場合、Git は bash_profile ファイルのみを読み取ります。
このため、Git は .bashrc ファイルを認識しません。 これを修正するには、以下のコマンドを実行します。
$ if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
Git が .bashrc ファイルを読み取るようになりました。 以下に示すように、acp を使用して、リモートへの変更の追加、コミット、およびプッシュを 1つのコマンドで使用できます。
$ acp "Update README.md"
これにより、変更が追加され、コミットされ、リモートにプッシュされます。
注: 関数に割り当てた名前を使用してください。 たとえば、関数に
Lazygitという名前を付けた場合、次のように実行します。
$ Lazygit "Update README.md"
エイリアスを作成する
以下に示すように、変更をリモート リポジトリに追加、コミット、およびプッシュするエイリアスを作成できます。
$ git config --global alias.lazygit '!f() { git add -A && git commit -m "$@" && git push origin HEAD; }; f'
エイリアスには任意の名前を付けることができます。 git commit の "$@" を使用すると、コマンド ラインでエイリアスを使用するときにカスタム コミット メッセージをフィードできることに注意してください。
エイリアスを lazygit と名付けたので、以下を実行します。
$ git lazygit "Update LICENSE.md"
.bashrc ファイルに Bash 関数を作成するか、エイリアスを作成することで、1つのコマンドで追加、コミット、プッシュすることができます。 カスタム コミット メッセージを追加するオプションを使用して、両方を作成する方法を見てきました。