Git基礎

 


📝 変更の追加、削除、確認

前回の入門編では、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の履歴に含めておきましょう。これにより、チームメンバー全員が同じ設定を共有できます