見出し画像

GitHubでの基本的なブランチ操作とワークフロー


はじめに

GitHubでの開発作業で最もよく直面する課題は、ブランチの管理とマージの手順です。この記事では、基本的なGitHubワークフローを段階的に説明していきます。

基本的なワークフロー


1. mainブランチの更新
新しい作業を始める前に、必ずmainブランチを最新の状態にします:

mainブランチに切り替え:
git checkout main

リモートの変更を取得:
git pull origin main

2. 作業用ブランチの作成

新しいブランチを作成して切り替え:
git checkout -b feature/new-feature

または、最新のGitでは以下のコマンドも使えます:
git switch -c feature/new-feature

3. 作業とコミット

ファイルの変更を確認:
git status

変更をステージングエリアに追加:
git add .

コミット:
git commit -m "機能追加: 新機能の実装"

4. mainブランチの変更を取り込む

作業中にmainブランチが更新された場合:

mainブランチの最新変更を取得:
git checkout main
git pull origin main

作業ブランチに戻る:
git checkout feature/new-feature

rebaseで変更を取り込む:
git rebase main

5. コンフリクトの解決

rebase中にコンフリクトが発生した場合:

コンフリクトしたファイルを編集
編集後、ファイルを追加:
git add .

rebaseを続行:
git rebase --continue

6. プッシュとプルリクエスト

初回プッシュ:
git push -u origin feature/new-feature

2回目以降のプッシュ(rebase後は--forceが必要な場合も):
git push --force-with-lease origin feature/new-feature

重要なポイント


1. 作業前の確認

・必ずmainブランチを最新にしてから新しいブランチを作成
・ブランチ名は作業内容がわかりやすいものに

2. こまめなコミット

・機能単位で小さくコミット
・コミットメッセージは明確に

3. rebase時の注意点

・公開されたブランチでのrebaseは避ける
・コンフリクト解決時は慎重に

4. force pushの使用

・--force-with-leaseを使用して安全にプッシュ
・他の開発者と作業している場合は特に注意

よくあるトラブルと解決方法

ブランチの切り替えに失敗する場合:
変更を一時保存:
git stash

ブランチを切り替え:
git checkout target-branch

保存した変更を復元:
git stash pop

rebaseを間違えた場合:
rebaseを中止して元に戻す:
git rebase --abort

pushを間違えた場合:
直前のコミットを取り消し:
git reset --soft HEAD^

または、リモートの状態に強制的に合わせる:
git reset --hard origin/branch-name

まとめ

GitHubでの効率的な開発ワークフローには、適切なブランチ管理とコマンドの使用が不可欠です。このガイドを参考に、チーム開発でのスムーズな作業を心がけましょう。

いいなと思ったら応援しよう!