ローカルリポジトリの初期化
新規プロジェクトでバージョン管理を開始する場合、まずカレントディレクトリ内にGitリポジトリを作成します。
git init
このコマンドにより、.git ディレクトリが生成され、以降の変更追跡が可能になります。
リモートリポジトリの取得
既存のプロジェクトをローカル環境に複製するには、以下のコマンドを使用します。
git clone https://example.com/your-repo.git
これにより、リモートサーバー上の全履歴とブランチ構造がローカルにダウンロードされます。
ファイルの追跡とステージング
変更されたファイルを次回コミットに含める準備として、ステージングエリアに登録します。
git add README.md
すべての変更を一度に追加する場合は次の通りです。
git add .
現在の状態を確認するには:
git status
このコマンドは、変更済み・ステージ済み・未追跡の各ファイルを明確に表示します。
変更の確定(コミット)
ステージング済みの内容をローカルリポジトリに保存します。
git commit -m "機能追加: ユーザー認証モジュールを実装"
適切なメッセージを付けることで、後の履歴調査が容易になります。
履歴の参照とリセット
過去のコミット一覧を表示するには:
git log --oneline
特定の状態に戻す場合、HEADからの相対指定または完全なハッシュ値を使用できます。
git reset --hard HEAD~2
または特定のコミットへ戻す:
git reset --hard a1b2c3d
注意: この操作は作業中の変更を失う可能性があるため、慎重に実行してください。
ブランチ操作の基本
現在存在するブランチの一覧を表示:
git branch
新しい開発用ブランチを作成:
git branch feature/payment
既存ブランチへ切り替え:
git switch main
新しいブランチを作成して即座に切り替える簡略形:
git switch -c feature/oauth-login
開発完了後、マージ処理を行う例:
git switch main
git merge feature/oauth-login
リモートとの同期
ローカルの変更をリモートリポジトリに反映させるには:
git push origin main
リモート側の最新更新を取り込む:
git pull origin main
設定されているリモートリポジトリの確認:
git remote -v
Gitにおける三つの主要状態
Gitでは、ファイルは常に以下のいずれかの状態にあります。
変更済み(Modified)
ワークツリー内で編集されたが、まだ git add されていないファイルの状態です。この段階では、変更内容はステージングエリアに含まれず、次回のコミットには含まれません。
ステージ済み(Staged)
git add を実行することで、変更内容がインデックス(ステージングエリア)に登録されます。ここに含まれる変更は、次の git commit によって永久記録されます。
コミット済み(Committed)
コミットが成功すると、その時点でのプロジェクト状態がローカルリポジトリに保存され、履歴として参照可能になります。必要に応じて過去のコミットへ戻ることも可能です。