
ここは、エンジニア未経験の私が Git、GitHub を勉強した内容を備忘録を兼ねて記録していく記事になります。
今回の記事は、『変更をステージに追加する』について解説していきたいと思います。
Git 操作では「何のためにステージがあるのか?」を理解しておく必要があります。
是非記事を読んでいただき理解を深めていただきたいと思います(^_^)/
過去の記事は、下のリンクよりご確認ください!
今回の記事は、下記の内容を解説いたします。
- git add コマンドについて
- git add コマンド実行時のデータの流れ(復習)
- GitBashにて実際に操作する
git add コマンドの紹介
git add コマンドは、3つの方法があります。
- git add <ファイル名>:指定したファイルをステージに追加する
- git add <ディレクトリ名>:指定したディレクトリをステージに追加する
- git add . :ワークツリーの変更全てをステージに追加したい場合に使用する
git add コマンドは、ワークツリーからステージへ変更を追加する事が目的のコマンドです。
基本的には、変更したらすぐにステージに追加してください。
Git 操作にステージがある理由は、コミットしたい変更ファイル(ディレクトリ)とそうでないファイル(ディレクトリ)を区別する為です。
他にもよく言われているのが「コミットする変更ファイル(ディレクトリ)を準備する為」ですが、上記と合わせて解釈していただくとより良い理解に繋がると思います。

git add する前のファイルは、Git管理外のファイルなのでいつでも変更が可能です。
しかし、ステージに追加したファイルはGit管理内の領域になる為、変更ができなくなります。
つまりステージに移動する事で、ファイルの変更から保護しているとも言えます。
次の説明の前に、以前の記事にて git add コマンドの裏側で何が起きているのか解説した(③Git 操作の流れを理解する)内容を再度記載しますので復習してみましょう。(^ω^)
git add コマンドを実行した際(復習)
ワークツリーで作業したファイル(ここではindex.htmlとします)をステージに追加する際には「git add コマンド」を行います。
git add コマンドを行うとステージに直接データが保存されるのではなく、リポジトリに index.html の圧縮ファイル(A)が生成されます。
そして、その圧縮ファイル(A)のファイル名とファイルの中身をマッピングした情報をもったインデックスファイルを作成されてステージに保存しているのです。


それでは、上記内容をイメージしながら GitBash にて実際にステージに追加していきましょう。
GitBash (ターミナル)にて実際に入力する
GitBash を立ち上げたら、以前の記事(⑤ローカルリポジトリの新規作成)で作成した「git_training」のディレクトリに移動してください。

次にエディタを開いて git_training のフォルダーに index.html のファイルを作成してください。
更にファイルの中に文章を記載して保存しておきましょう。

上記画像は、VSCode(エディタ) を使用して index.html を作成しています。
ファイルには「Hello World」と記載しておきました。

エディタは何を使用してもOKです!
勿論エディタを使用しなくても良いですが、エディタを使用した事がない方は、この機会にエディタを使用してHTMLファイルを作成してみましょう。(^_^)/
ファイルの作成・保存が完了しましたら、GitBash に戻りましょう。
GitBash にて「 ls 」と入力してファイルが作成されているか確認します。
※ls:現在のディレクトリの中身(ファイルやディレクトリ)の一覧を表示するコマンド

index.html のファイルが作成されている事が確認できたと思います。
確認できましたら、ステージに追加する為に GitBashに「 git add . 」と入力してください。

これでステージに追加されました。
ステージに追加されたかを確認するには、GitBashに「git status」と入力してみましょう。

上画像のような表記が出てきたと思います。
こちらのメッセージ内容が出たら無事にステージに追加されています。
因みに、メッセージ内容は「まだコミットされていないよ」という様な内容になっています。
お疲れ様でした。今回は以上です。
『変更をステージに追加する』を解説してみました。

何か不具合等がでましたら、私で分かる事でしたらお答えしますのでコメントや問い合わせよりご連絡ください!
次回の記事は、『変更を記録する(コミットする)』を解説したいと思います。
UPSTART!!(=゚ω゚)ノ
#Git #GitHub #プログラミング #初学者


コメント