変更をステージに追加しよう
今回はいよいよ変更を実際にステージに追加します。
ではここで復習です。
ステージは何のためにあるのでしょうか。
少し考えてみましょう。
ではこのことを頭の片隅においておきながら、実際に変更をステージに追加するやり方をみて行きましょう。
変更をステージに追加する為には「git add」というコマンドを使います。
「add」はステージに追加すると言う事です。
「git add」の後ろに「ファイル名」や「ディレクトリ名」を指定して通常は使います。
もしワークツリーの変更全てをステージに追加したい場合は「git add .」と入力します。
$ git add <ファイル名> $ git add <ディレクトリ名> $ git add .
ではイメージで押さえておきましょう。
「ワークツリー」「ステージ」「リポジトリ」という3つがあったら、その「ワークツリー」から「ステージ」へ変更を追加することが「git add」です。
ではここで最初の質問に戻って、何のためにステージはあるのでしょうか。
ステージがある理由はコミットする変更を準備するためでした。
どういうことかというと、ワークツリーで色々なファイルを変更した時に、全部の変更を記録したいのではなく、一部の変更だけを記録したい時があります。
そういう時に記録したい変更だけをまずステージに追加して、そしてそれをコミットします。
一部の変更だけを記録するためにステージは存在しています。
では「git add」の裏側で実際に何が起こっているのかと言う事を復習していきましょう。
まず、ワークツリーに「index.html」というファイルを作成します。
そしてそこで「git add」を入力します。
「git add」と打つと、「index.html」のファイル内容を圧縮した「圧縮ファイルA」というファイルが作られます。
次にインデックスに「圧縮ファイルA」の中身は「index.html」だよというファイル名とファイル内容をマッピングした情報がインデックスに記載されます。
これが「git add」コマンドの裏側で実際に行われていることでした。
実際にやってみよう
ではこのイメージを持った上で、ターミナルで実際にステージに追加しましょう。
「git init」の時に作成した「git_tutorial」のディレクトリに移動します。
$ ~/Documents/test_code/git_tutorial
ではこの中に「index.html」というファイルを新規作成してみます。何かテキストエディタを立ち上げて、下記のようなファイルを作成します。
<h1>Gitチュートリアル</h1>
ファイルが作成されているか確認します。
$ ls index.html
この変更をステージに追加します。
「git add .」と入力します。
$ git add .
これでステージに追加されました。
参考図書
独学で挫折しそうになったら、オンラインプログラミングスクール