Gitの概要と初期設定
Gitは分散型バージョン管理システムであり、小規模から大規模なプロジェクトにおいて高速かつ効率的な履歴管理を可能にします。運用を開始する前に、まずはコミット情報に含めるユーザー情報を登録する必要があります。
# ユーザー名の設定
git config --global user.name "Your Name"
# メールアドレスの設定
git config --global user.email "your.email@example.com"
# 設定内容の確認
git config --list
リポジトリの構築と複製
バージョン管理を開始するには、新規にリポジトリを作成するか、既存のリポジトリを複製します。
ローカルリポジトリの初期化
既存のプロジェクトディレクトリでGitによる追跡を開始する場合、`.git`ディレクトリを作成して初期化を行います。
git init
リモートリポジトリのクローン
サーバー上の既存リポジトリをローカル環境にコピーする場合に使用します。
git clone https://github.com/example/project-repo.git
変更のステージングとコミット
Gitの基本的なワークフローは、ファイルの変更を「ステージングエリア(インデックス)」に登録し、その後「リポジトリ」へ記録するという二段階のプロセスです。
現在の状態確認
作業ツリーの状態や、ステージング済みのファイル、追跡されていないファイルなどを確認します。
git status
ファイルのステージング
コミット対象とするファイルをインデックスに追加します。
# 特定のファイルを指定して追加
git add src/main.js
# 変更のあったすべてのファイルを追加(削除されたファイルも含む)
git add -A
変更のコミット
ステージングされた内容をローカルリポジトリの履歴として保存します。
git commit -m "新機能: ユーザー認証ページの実装"
ブランチ管理
並行開発や機能実験を安全に行うために、履歴の分岐(ブランチ)を活用します。
ブランチの作成と確認
# 全てのローカルブランチを一覧表示
git branch
# 新しいブランチを作成し、その場で切り替える
git switch -c feature/new-layout
ブランチの切り替え
作業中のブランチを変更します。古いバージョンのGitでは`git checkout`が使われていましたが、現在は`git switch`が推奨されます。
git switch main
ブランチの統合
指定したブランチでの変更内容を、現在のブランチにマージします。
git merge feature/login-module
ブランチの削除
役割を終えたブランチを削除します。
# マージ済みのブランチを削除
git branch -d feature/login-module
# マージされていないブランチを強制削除
git branch -D temp-experiment
リモートリポジトリとの同期
チームメンバーとのコード共有やバックアップのために、リモートサーバーと連携します。
リモートの追加と確認
# リモートリポジトリの登録(originという名前で)
git remote add origin https://github.com/user/repository.git
# 登録済みリモートの詳細確認
git remote -v
変更の送信(プッシュ)
ローカルのコミット履歴をリモートリポジトリへ送信します。
# 特定のブランチをリモートへ送信
git push origin main
変更の取得(プル)
リモートリポジトリの最新の変更を取得し、現在のブランチにマージします。
git pull origin main
履歴の参照と変更の取り消し
コミットログの閲覧
これまでの変更履歴を確認します。
# 詳細なログを表示
git log
# 1行ごとのシンプルなログを表示
git log --oneline
操作の取り消し(リセットとリストア)
誤ってステージングした場合や、作業ディレクトリの変更を破棄したい場合に使用します。
# ステージングから取り消し(ファイルの変更内容は保持)
git reset HEAD index.html
# 作業ディレクトリの変更を破棄(直前のコミット状態に戻す)
git restore index.html