1つのコマンドで Git Add と Git Commit
この記事では、git add
コマンドと git commit
コマンドをコマンド ラインで 1つに結合する方法について説明します。 2つのコマンドを 1つのコマンドに結合すると、時間を節約できます。
2つのコマンドを組み合わせるときは、何をコミットしたいかを覚えておく必要があります。 いくつかの一般的なシナリオを見てみましょう。
1つのコマンドで Git Add と Git Commit
Git のバージョン管理に精通している場合は、作業スペースにさまざまなカテゴリのファイルがあることをご存知でしょう。 これらは:
- 変更されたファイル
- 削除されたファイル
- 追跡されていないファイル
ここに例があります。
変更されたファイルと削除されたファイルのみをコミットしたい場合、1つのコマンドで追加とコミットを行うにはどうすればよいでしょうか?
以下のコマンドを実行して、変更されたファイルを追加し、削除されたファイルをコミットできます。
$ git commit -am "Shortcut"
理想的には、上記のコマンドはファイルをコミット用にステージングし、自動的にコミットします。
追跡されていないファイルはそのままにしておく必要があります。 私たちのケースを確認しましょう。
別の例を見てみましょう。
追跡されていないファイルを含むすべてのファイルを作業スペースに追加してコミットしたい場合はどうすればよいでしょうか?
インデックスにすべてのファイルを追加するには、-A
フラグを指定して git add
コマンドを使用します。 git エイリアス
を作成することで、このコマンドを git commit
コマンドと組み合わせることができます。
エイリアスを使用すると、カスタム コミット メッセージを提供しながら、2つのコマンドを 1つにまとめることができます。 Git でエイリアスを作成する方法は次のとおりです。
$ git config --global alias.combo-AC '!git add -A && git commit'
エイリアスには任意の名前を付けることができます。 私たちの場合、それを combo-AC
と呼んでいます。
これがその使用法の図です。
$ git combo-AC -m "Shortcut2"
このコマンドは、すべてを作業スペースに追加してコミットする必要があります。 私たちのケースを確認しましょう。
または、作業スペースにすべてのファイルを追加してコミットする関数を作成できます。 これを行うには、.bashrc
ファイルに関数を追加する必要があります。
.bashrc
ファイルは、ターミナル セッションの機能を指示するシェル スクリプトです。
このファイルは非表示で、ホーム ディレクトリにあります。 これは通常、Git Bash を起動したときの最初のディレクトリです。
関数を .bashrc
ファイルに追加するには、次を実行します。
$ notepad ~/.bashrc
これにより、メモ帳でファイルが開き、以下に示すように関数を追加できます。
function ac() {
git add -A
git commit -m "$1"
}
ファイルを保存し、メモ帳を終了します。 Git Bash で、以下のコマンドを実行して機能を有効にします。
$ source ~/.bashrc
新しい Git バージョンは --login
で始まることに注意してください。 このような場合、Git は bash_profile
ファイルのみを読み取ります。
このため、Git は .bashrc
ファイルを認識しません。 これを修正するには、以下のコマンドを実行します。
$ if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
上記のコマンドは、プロジェクトのルート フォルダーで実行してください。 関数の使用例を次に示します。
$ ac "New"
これにより、インデックスにすべてのファイルが追加され、コミットされます。
簡単に言うと、git add
と git commit
コマンドを 1つにまとめるときは、何をコミットするかを考えます。
削除されたファイルと変更されたファイルのみをコミットしたい場合に、この 2つを組み合わせる方法について説明しました。 また、1つのコマンドですべてのファイルを追加してコミットする 2つの方法についても説明しました。
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn関連記事 - Git Add
- 1つのコマンドで git add、git commit、および git push
- 1つのファイルを除くすべてのファイルをコミット用に追加
- Git add コマンドを元に戻す
- Git でコミットするフォルダー内のすべてのファイルを追加する
- Git のステージング エリア