08-Git&GitHUb

バージョン管理(Part1~Part.11)【Git編(Part.5)】| 「Gitが管理するフォルダ」と「3つエリア」の概要 | 現役エンジニア&プログラミングスクール講師

バージョン管理【Git と GitHub】まとめ|現役エンジニア&プログラミングスクール講師「Git」と「GitHub」のまとめページです。Git、GitHubに関する記事を時系列でまとめています。まとめページの下部には「おすすめの学習書籍」「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

バージョン管理(Part1~Part.11)【Git編】の記事はAmazon kindle Unlimited(電子書籍)での販売となります。howahowablog.comではPart.5/10/11のみ試し読み可能となります。

バージョン管理(Part12~Part.21)【GitHub編(前編)】の記事はAmazon kindle Unlimited(電子書籍)での販売となります。howahowablog.comではPart.15/19のみ試し読み可能となります。

バージョン管理(Part21~Part.30)【GitHub編(後編)】の記事はAmazon kindle Unlimited(電子書籍)での販売となります。howahowablog.comではPart.24/30のみ試し読み可能となります。

「Kindle Unlimited」にご登録の方はキャンペーン価格で電子書籍の購入が可能です。

「Kindle Unlimited」の
無料トライアルはこちら

目標

Gitが管理するフォルダについて概要を理解する
バージョン管理で重要なエリア「ワークツリー」について概要を理解する
バージョン管理で重要なエリア「ステージングエリア」について概要を理解する
バージョン管理で重要なエリア「ローカルリポジトリ」について概要を理解する

Gitが管理するフォルダの初期設定

Gitが管理するフォルダの概要

Gitでユーザー名とメールアドレスの設定を終えるとGitを利用したバージョン管理の操作が可能になります。そこで、まず最初に行う操作が「リポジトリ(ローカルリポジトリ)」の作成です。

この「リポジトリの作成」ですが、もう少し厳密に言うと「指定したフォルダをGitの管理下に置くための「初期設定」」と言えます。初期設定では次のようなことが行われます。

  1. 「指定フォルダをGitの管理下にすること」
  2. 「ファイル編集用のエリアの作成」(ワークツリー)
  3. 「変更したファイルを一時保管するエリアの作成」(ステージングエリア)
  4. 「バージョン管理を行うリポジトリの作成」(ローカルリポジトリ)

「Git Bush」から「git initコマンド」を利用することでGitにフォルダを管理させることが可能になります。(実際の操作は次回以降の記事で確認)

git initコマンドを利用すると指定したフォルダ(ディレクトリ)に「.git」の隠しフォルダが作成されます。この隠しフォルダに指定したフォルダを監視する機能が格納されています。

.gitを消去するとGitでの管理が行えなくなります。管理しない場合を除いて消去をしないようにします。

Gitで重要な3つのエリア

Gitで重要な3つのエリアの概要図

ワークツリー(ワーキングディレクトリ)

ワークツリー(ワーキングディレクトリ)とは

ワークツリーはファイルの編集を行うスペースとして準備されます。ユーザーは編集したいファイルを新規で作成したり、リポジトリ(ローカルリポジトリ)から読み込んできて編集を行います。

ファイルの新規作成時はGitの管理から外れています。Gitの管理下にあるフォルダ内のファイルではありますが、新規作成されたファイルをGitの管理下にするためには「ステージングエリアに加える」という設定を行う必要があります。

新規ファイルをGitの管理下に加える場合は「ステージングエリアへの登録」を行います。ステージングエリアに登録したファイルは、その後、編集を行っている間、ワークツリー内で「modified」というステータスになります。

下の図でいうとステージングエリアに登録された「ファイルB」はワークツリー内で編集を始めると差分が生じることになります。この差分が生じることによって「ファイルB」のステータスが「modified」として設定されるようになります。

ステージングエリア

ステージングエリア

ステージングエリアはワークツリーで編集したファイルを一時保管するためのエリアです。

バージョン管理ではワークツリー内でファイルの編集が終了すると、ステージングエリアを経由してリポジトリに登録するといった手順を踏みます。

例えば「Aの機能」「Bの機能」「Cの機能」といった複数の更新を行う場合、

  1. 「Aの機能」追加のために編集した複数のファイルをステージングエリアにまとめてリポジトリに登録
  2. 「Bの機能」追加のために編集した複数のファイルをステージングエリアにまとめてリポジトリに登録
  3. 「Cの機能」追加のために編集した複数のファイルをステージングエリアにまとめてリポジトリに登録

と変更のまとまりを分けてリポジトリへの登録を行うことが可能になります。

Gitではステージングエリアからリポジトリに登録(コミット)する時に「メッセージ」の入力を行います。リポジトリへの登録(コミット)時に、この「メッセージ」にそぐわないファイルはステージングエリアに混ぜておかないように注意します。

ローカルリポジトリ

ローカルリポジトリ

ステージングエリアにまとめているファイルを「コミット」という操作を用いて登録するエリアです。コミットをする時には、どのような変更が加えられたのかを「メッセージ」として残す必要があります。

以上が「Gitが管理するフォルダの概要」と「Gitで重要な3つのエリア」となります。

サンプルサイトの確認

次回以降ではサンプルサイトを作成しながらGitの操作を行っていく記事となっています。サンプルサイトの見た目は次のようになっています。

今回は以上となります。次回はGit Bushでローカルリポジトリを作成して、コミットまでの操作を行う記事となっています。

「Git・GitHub」おすすめ書籍6選+α【初心者用4冊&実践用2冊&番外編1冊】| 現役エンジニア&プログラミングスクール講師「Git・GitHub」初心者の方がGitの操作を理解するためのお勧めの書籍について取り上げています。また中級者の方が更に進んだ学習ができる実践的な書籍についてお勧めできる2冊を取り上げています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

ブックマークのすすめ

「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...
RELATED POST
08-Git&GitHUb

Version Control Git (Part1-Part.11) [Git (Part.5)] | Overview of "A Directory Managed by Git" and "Three Areas"

2024年3月17日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
08-Git&GitHUb

Version Control Git (Part1-Part.11) [Git (Part.11)]|Setting ".gitignore" and ".gitignore_global" (setting files not to be managed by Git)

2024年4月4日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
08-Git&GitHUb

バージョン管理(Part1~Part.11)【Git編(Part.11)】|「.gitignore」「.gitignore_global」の設定(Gitに管理させないファイルの設定)| 現役エンジニア&プログラミングスクール講師

2024年1月30日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
08-Git&GitHUb

バージョン管理(Part.12~Part.21)【GitHub(Part.19)】|共同編集で気を付けるブランチ運用 | 現役エンジニア&プログラミングスクール講師

2024年1月31日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
08-Git&GitHUb

バージョン管理(Part.22~Part.30)【GitHub(part.24)】|プルリクエスト(再リクエスト)| 現役エンジニア&プログラミングスクール講師

2024年1月31日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
08-Git&GitHUb

Version Control Git (Part.22~Part.30)[GitHub(Part.24)]|Pull requests (re-requests)

2024年5月23日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site