Gitバージョン管理の基本|コマンドとワークフローをわかりやすく解説
開発

Gitバージョン管理の基本|コマンドとワークフローをわかりやすく解説

Gitの基本的な使い方とコマンドを初心者向けに解説。ブランチ・マージ・コンフリクト解消など実践的なワークフローとGitチートシートの活用法を紹介します。

Gitは現代のソフトウェア開発において欠かせないバージョン管理システムです。「コードの履歴を管理する」というシンプルな目的のもと、チーム開発から個人プロジェクトまで幅広く活用されています。

Gitとは何か、なぜ必要か

バージョン管理システム(VCS)の役割

  • コードの変更履歴を記録して、任意の時点に戻れる
  • 複数人が同じコードを同時に編集できる
  • 変更の差分を確認できる
  • 実験的な変更を安全に試せる(ブランチ機能)

Gitなしでのチーム開発は、「最終版_v3_本当の最終版2.docx」のようなファイル管理と同じ問題が起きます。

Git コマンドチートシートやりたい操作でGitコマンドを素早く検索・コピー

Gitの基本概念

リポジトリ(Repository)

プロジェクトのファイルとその変更履歴を格納する場所です。ローカルリポジトリ(自分のPC)とリモートリポジトリ(GitHub・GitLabなど)があります。

コミット(Commit)

ファイルの変更を「セーブポイント」として記録する操作です。コミットには変更内容の説明(コミットメッセージ)を添付します。

ブランチ(Branch)

メインのコードから独立した作業環境を作る機能です。新機能の開発・バグ修正などを安全に行えます。

マージ(Merge)

ブランチの変更をメインブランチに統合する操作です。

基本的なGitコマンド

初期設定

# Gitの初期設定git config --global user.name "あなたの名前"git config --global user.email "[email protected]"# 新しいリポジトリを初期化git init# 既存リポジトリのクローンgit clone https://github.com/user/repository.git

日常的な操作

# 変更状態を確認git status# 変更をステージングエリアに追加git add filename.js    # 特定ファイルgit add .             # すべての変更# コミットgit commit -m "コミットメッセージ(変更内容を説明)"# リモートに送信git push origin main# リモートから取得git pull origin main

ブランチ操作

# ブランチ一覧git branch# 新しいブランチを作成して切り替えgit checkout -b feature/new-feature# ブランチの切り替えgit checkout main# ブランチをマージgit merge feature/new-feature# ブランチを削除git branch -d feature/new-feature
Git コマンドチートシートやりたい操作でGitコマンドを素早く検索・コピー

実践的なワークフロー

Git Flow(チーム開発向け)

  • main(またはmaster):本番環境のコード
  • develop:開発中の最新コード
  • feature/xxx:新機能の開発ブランチ
  • hotfix/xxx:緊急バグ修正ブランチ
  • release/xxx:リリース準備ブランチ

GitHub Flow(シンプルなワークフロー)

  1. mainから機能ブランチを作成
  2. ブランチで変更を加えてコミット
  3. プルリクエスト(PR)を作成
  4. コードレビューを経てmainにマージ

小〜中規模のプロジェクトでは、GitHubFlowの方がシンプルで管理しやすいです。

コンフリクトの解消

複数人が同じファイルの同じ箇所を変更した場合、マージ時にコンフリクト(競合)が発生します。

コンフリクトの表示

<<<<<<< HEAD
こちらは自分のブランチの変更です
=======
こちらは相手のブランチの変更です
>>>>>>> feature/other-branch

<<<<<<< HEAD から ======= が自分の変更、======= から >>>>>>> が相手の変更です。どちらを残すか(または両方を組み合わせるか)を手動で編集し、マーカーを削除してからコミットします。

よくある質問

Q: git revertgit resetの違いは何ですか? A: git revertは「元に戻したコミット」を新しいコミットとして追加し、履歴を保存します。git resetはコミット履歴自体を書き換えるため、共有リポジトリへのプッシュには注意が必要です。安全な取り消しにはgit revertが推奨されます。

Q: コミットメッセージはどう書けばいいですか? A: 英語では「Add user authentication feature」のような動詞から始まる命令形、日本語では「ユーザー認証機能を追加」のような簡潔な説明が一般的です。Conventional Commits(feat:fix:docs:など)のプレフィックスを使うチームも多いです。

Q: .gitignoreには何を書くべきですか? A: パスワード・APIキーなどの秘密情報(.env)、依存パッケージ(node_modules/)、ビルド成果物(dist/build/)、OS固有ファイル(.DS_StoreThumbs.db)を記載します。GitHubのgitignoreテンプレート集が参考になります。

まとめ

Gitの基本を習得することで、コード管理の安全性と開発効率が飛躍的に向上します。まずはaddcommitpushの基本フローをマスターし、ブランチとマージを日常的に使いこなすことを目指しましょう。Gitチートシートで重要コマンドをいつでも参照できます。

関連記事