Git のファイルの追加と削除
ローカル Git リポジトリを初期化した後、AL 拡張機能を使用して作業を開始できます。 作成するすべてのファイルをリポジトリに追加する必要があります。 そのためには、いくつかのコマンドを実行する必要があります。 リポジトリに追加または削除するさまざまなコマンドを見て、変更を Git ディレクトリにコミットしてみましょう。
ファイルの追加
追跡されてないファイルまたは変更されたファイル (または複数のファイル) を Git に追加するには、追加コマンドを使用します。 これにより、変更したファイルが作業ディレクトリからステージング領域に追加されます。 add コマンドを使用して、追加するファイルの名前を指定します。 アスタリスクは、すべてのファイルを示すために使用できます。
git add <filename>
git add *
Visual Studio Code 内で、ソース管理ウィンドウ (Ctrl + Shift + G) でファイル名の横にある + 記号をクリックして、ファイルを追加できます。 このアクションにより、ステージング領域にファイルが格納されます。 変更されたすべてのファイルを追加するには、変更セクションの + 記号をクリックします。
ステージング領域にファイルを追加すると、Visual Studio Code 内のステージされた変更セクションにその結果が表示されます。 次のスクリーンショットでは、app.json、BodyType.al、.gitignore ファイルがステージングされています。 また、ファイルが追加されたことを示す状態コード A が割り当てられます。
ステージされたファイルの削除
ステージ領域にファイルを追加したが、含まれてはならない場合は、そのファイルのステージを解除することができます。 ファイルのステージを解除するには、リセット コマンドを使用する必要があります。
git reset HEAD <filename>
これにより、ファイルが作業ディレクトリに戻され、ステージング領域から削除されます。 最近追加したファイルに対してこの操作を行うと、ファイルは再度追跡されなくなります。
Visual Studio Code 内では、- 符号を使用してステージを解除、またはリセットできます。
ステージされたファイルを Git ディレクトリにコミットする
ステージング領域にファイルが作成されたら、commit コマンドを使用して、それらを Git ディレクトリに格納できます。 各コミットでは、ステージング領域からすべてのファイルを取得し、それらを Git ディレクトリに追加して、ユーザー名とメールをコミット内に含めます。
git commit
コミットには常にコミット メッセージが必要です。 前のコマンドを使用すると、既定のエディターが開き、コミット メッセージを入力できます。 -m オプションを使用することもできます。
git commit -m "Your message comes here"
Visual Studio Code 内には、コミット メッセージを入力する GUI が用意されています。 このメッセージを入力できる場所は 2 つあります。 ステージされている変更セクションのすぐ上の SCM ペインに入力できます。
コミット ボタンをクリックしてもメッセージが表示されない場合は、Visual Studio Code によりメッセージを入力するように求められます。
実際のコミットは、チェック アイコンまたは Git コマンド リストの commit コマンドを使用して実行されます。 3 つのドットをクリックして、コマンド リストを開くことができます。
ステージされたコミット変更のは、ステージング領域にのみファイルをコミットします。 [チェック] アイコンは、ステージングのコミット コマンドのショートカットです。 通常、コミットするたびに新しいコミット エントリが Git に作成されます。 各コミットでは、コミットを一意に識別する一意のコミット文字列が生成されます。
例:
521747298a3790fde1710f3aa2d03b55020575aa
修正オプションを選択すると、新しいコミットを作成するのではなく、最後のコミットに変更が加えられます。 いくつかのファイルを忘れた場合は、この方法を使用すると便利です。
git commit --amend
ステージング領域にファイルが追加されていない場合、[コミット] ボタンをクリックすると、Visual Studio Code ステージング領域にファイルが存在しないことを示すメッセージが表示されますが、代わりに作業ディレクトリにあるファイルをコミットするかどうかの確認も求められます。 したがって、ステージング領域は省略されます。 この操作は、[コミット] コマンドで -a オプションを使用して行うこともできます。
git commit -a -m "Your message comes here"
コミットが実行された後、分岐名 (この例では master) をクリックすると、新しい分岐を作成するためのオプションが表示されますが、分岐が使用しているコミット ID も表示されます。
変更されたファイルをステージング領域に追加することが推奨されます。準備が整っていて安定している場合は、それらを Git ディレクトリにコミットできます。 終了するまで待機するのではなく、できるだけ頻繁に変更をコミットしてください。
リポジトリからのファイルの削除
Windows エクスプローラーまたは Visual Studio Code 内で作業ディレクトリからファイルを削除した場合、そのファイルは引き続き Git リポジトリに含まれます。 rm コマンドを使用して、プロジェクトからファイルを削除する Git リポジトリを指定します。 このアクションは、変更または追加したファイルと共にステージング領域に格納されます。 コミットを実行すると、ファイルの削除は Git リポジトリで完了します。
git rm <filename>
削除は自動的に作業ディレクトリで検出され、Visual Studio Code で参照できるようになります。 このファイルは D のステータス コードを取得し、このファイルがディスクから削除されることを示します。 この変更をステージして、rm コマンドを実行し、Git ディレクトリから完全に削除します。
ディスクからファイルを削除せずに、ファイルを Gitから削除する必要がある可能性があります。 rm --cached を使用すると、この処理を行うことができます。
git rm --cached <filename>
このアクションにより、ステージング領域からファイルが削除され、Git リポジトリで削除が実行されますが、ファイルはまだディスク上にあります。 ファイルは再度追跡されます。
変更を元に戻す
ファイルに変更を加えた後に以前のバージョンを取得する場合は、チェックアウト コマンドを使用できます。 これにより、Git ディレクトリからコミットされたバージョンが取得され、このバージョンが作業ディレクトリに配置されます。
git checkout <filename>