Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Git】git addとステージングエリア(インデックス)への登録について


gitでバージョン管理をする場合には、まずはじめに「git init」にてgitのリポジトリの初期化を行います。

これについては、前回の過去記事にて説明しました。

 

 

 

この初期化したリポジトリでファイルのバージョン管理を行う場合には、「git init」を実行した作業用ディレクトリ内でバージョン管理を行いたいファイルの作成、編集作業を行います。

 

たとえば、VisualStudioCodeなどのエディターを使用して「git init」を実行した作業用ディレクトリ内で「Test.txt」を作成します。

 

gitの状態を確認するコマンド「git status」を実行してみると、

 

$ git status
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        Test.txt

nothing added to commit but untracked files present (use "git add" to track)

 

のように、「Test.txt」が作成されていることがわかります。

この例は「git init」を実行した直後なので、「No commits yet」で、まだコミットされたファイルはないと表示されています。

 

「untracked files」は追跡されていないファイルということで、作成直後のファイル「Test.txt」は、まだGitの管理下に登録されていないためこのような表示になります。

 

「ワーキングツリー」でファイルを作成しただけでは、Gitのバージョン管理の対象にはならないため、管理下に登録するためには、「git add」コマンドを実行することになります。

今回の場合はたとえば以下のように実行します。

 

$ git add Test.txt

 

これにより、ファイル「Test.txt」が「ステージングエリア」に登録されます。

再度、「git status」コマンドを実行してみると、

 

$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   Test.txt

 

ファイル「Test.txt」が「ステージングエリア」に登録されたため、表示も「Changed to be commited」に変わりました。

 

「ステージングエリア」とは、「インデックス」とも呼ばれ、「ローカルリポジトリにコミットするファイルを置いておくエリア」です。

 

また、

 

$ git add .

 

とすると、カレントディレクトリ配下のすべてのファイルが「ステージングエリア」に登録されます。

 

配下にサブディレクトリ「dir1」があった時に、

 

$ git add dir1

 

とすると、サブディレクトリ「dir1」配下のすべてのファイルが「ステージングエリア」に登録されます。

 

サブディレクトリ「dir1」の配下に「file1」があった時には、

 

$ git add dir1/file1

 

とすると、サブディレクトリ「dir1」配下の「file1」が「ステージングエリア」に登録されます。

 

同様に、

 

$ git add -A

 

または、

 

$ git add --all

 

とした場合には、カレントディレクトリだけでなく「ワーキングツリ―」配下のすべてのフォルダ内のファイルが「ステージングエリア」に登録されます。

 

このように「ステージングエリア」があることで、カレントディレクトリ配下のファイルの中でコミットしたくないファイルを除いてコミットしたいファイルだけをコミットすることができるようになります。

 

 

関連記事:

【Git】Gitのダウンロード、インストール方法 - Django Girls and Boys 備忘録

 

【Git】付属ツールGit Bashについて、起動方法 - Django Girls and Boys 備忘録

 

【Git】Git Bashのホームディレクトリ変更方法 - Django Girls and Boys 備忘録

 

【Git GitHub】初心者、初級者におすすめの入門書 - Django Girls and Boys 備忘録

 

【Python Django】git init について - Django Girls and Boys 備忘録

 

【Git】ユーザー名とメールアドレスの設定方法 - Django Girls and Boys 備忘録

 

【Git】git addとステージングエリア(インデックス)への登録について - Django Girls and Boys 備忘録

 

【Git】git commitとローカルリポジトリへの登録、gitの概略イメージ - Django Girls and Boys 備忘録

 

【Git】git diffによる差分確認について - Django Girls and Boys 備忘録

 

【Git GitHub】GitHubのアカウント作成方法 - Django Girls and Boys 備忘録

 

【Git GitHub】公開鍵の設定方法 - Django Girls and Boys 備忘録

 

【Git GitHub】Gitのダウンロード、インストールから「git add」、「git commit」によるGitへの登録までの一通りの方法 - Django Girls and Boys 備忘録

 

【Git GitHub】「git add」、「git commit」後の「git push」について、リモートリポジトリにプッシュする方法 - Django Girls and Boys 備忘録