📝 変更の追加、削除、確認
前回の入門編では、Gitリポジトリを作成し、最初のコミットを行いました。今回は、複数のファイルを同時に扱ったり、変更履歴を効率的に確認したりする方法を学び、Gitを本格的に使いこなすためのステップを踏み出しましょう。
1. 複数のファイルをコミットする 📂
Gitの最大の利点は、複数のファイルに対する変更をまとめて管理できることです。
ステージングの重要性
Gitでは、変更したファイルをいきなりコミットするのではなく、「ステージングエリア」という一時的な場所に置いて、コミットの準備をします。
git status: 変更を加えたり、新しいファイルを追加したりすると、Untracked files(Gitがまだ追跡していないファイル)やChanges not staged for commit(変更されたが、まだステージングされていないファイル)として表示されます。git add .:git addコマンドの後に.(ドット)を付けると、すべての変更を一括でステージングできます。これは非常に便利で、作業時間を大幅に短縮できます。💡
git add .は、作業ディレクトリ内のすべての変更をステージングします。
git add ファイル名: もちろん、特定のファイルだけをステージングすることも可能です。
【ステージングの目的】 ステージングエリアは、「次のコミットに含める変更はこれとこれ」と、作業内容を論理的にまとめるために存在します。たとえば、Webサイトのレイアウト変更と、ドキュメントの誤字修正を別々のコミットにしたい場合、まずレイアウト変更のファイルだけをステージングしてコミットし、次にドキュメントファイルをステージングしてコミット、というように分けて管理できます。
2. コミットした変更を追いかける:git log 📜
Gitのコミットは、コードの変更履歴を時系列で記録したものです。この履歴を確認するには、git logコマンドを使います。
git log
このコマンドを実行すると、以下のような情報が表示されます。
コミットID: 各コミットに一意に割り当てられた長い文字列。
作成者 (Author): 変更を行ったユーザー名とメールアドレス。
日付 (Date): コミットが行われた日時。
コミットメッセージ: どんな変更を行ったかを示すメッセージ。
【便利なオプション】
git log --patch: 各コミットで具体的にどのコードが変更されたか(追加・削除された行)まで詳細に確認できます。
3. ファイルやフォルダを管理する 🗑️
Gitが追跡するのは「ファイル」だけ
Gitはファイルを追跡しますが、空のフォルダは追跡しません。
もし空のフォルダをコミットしたい場合は、慣習としてそのフォルダの中に
.gitkeepという名前の空のファイルを作成します。これにより、フォルダ自体がコミットされるようになります。
ファイルの削除
Gitが追跡していないファイル(Untracked files): フォルダから直接ファイルを削除するだけでOKです。
Gitが追跡しているファイル: ファイルを削除した後に、その変更をGitに知らせる必要があります。
# 1. フォルダからファイルを削除
rm 削除したいファイル名
# 2. 削除をステージングする
git add .
# 3. 削除をコミットする
git commit -m "削除理由"
Gitにとって、ファイルの削除も「変更」の一種であり、コミットすることで履歴に記録されます。
4. Gitの管理対象から除外する:.gitignore 🚫
開発を進めていると、Gitで管理したくないファイルやフォルダが出てきます。
例:ログファイル、設定ファイル、一時ファイル、依存関係のパッケージなど。
これらのファイルをGitに無視させるには、リポジトリのルートディレクトリに.gitignoreという名前のファイルを作成し、無視したいファイル名やフォルダ名をリストアップします。
【.gitignoreの書き方】
# この行はコメントです
config/ # configフォルダ全体を無視
*.log # .logで終わるすべてのファイルを無視
.gitignore自体は重要な設定ファイルなので、コミットしてGitの履歴に含めておきましょう。これにより、チームメンバー全員が同じ設定を共有できます
