Gitチュートリアル ( Backlog )
複数人のチームで開発を行う際のGitブランチの活用。
各メンバーが独立した作業環境で機能開発を進める方法。
以下に、ブランチを使ったGitの基本的なワークフローを具体的なコマンドとともに説明。
1. リポジトリのクロー
Backlogなどのリモートリポジトリからローカル環境にリポジトリをクローン。
git clone https://example.backlog.jp/git/username/repository.git
リポジトリのURLはBacklogのリポジトリページから取得可能。
2. 新しいブランチの作成とチェックアウト
各メンバーが新しい機能を開発する際の新しいブランチの作成。メインブランチ(通常は main
や master
)から派生。新しい機能 "feature-x" の開発を始める場合。
git checkout -b feature-x
このコマンドで "feature-x" という名前の新しいブランチを作成し、そのブランチに切り替え。ブランチを使用することで、メインブランチに影響を与えずに安全に作業を進める方法。
Mac内でのチュートリアル(AさんとBさん)
以下は、Macのデスクトップ上でディレクトリを作成し、AさんとBさんがそれぞれのブランチでテキストファイルを編集するチュートリアル。
準備
-
デスクトップにプロジェクト用のディレクトリを作成。
mkdir ~/Desktop/git_practice_project cd ~/Desktop/git_practice_project git init
このコマンドで、新しいGitリポジトリを初期化。ディレクトリを初期化することで、Gitが変更を追跡可能に。
-
最初のテキストファイルを作成し、最初のコミット。
echo "初期内容" > textfile.txt git add textfile.txt git commit -m "Initial commit with textfile.txt"
-
リモートリポジトリをBacklogに登録。
git remote add origin https://example.backlog.jp/git/username/git_practice_project.git git push -u origin main
リモートリポジトリを登録することで、他のメンバーと変更を共有可能。
Aさんの作業
-
Aさん用のブランチを作成し、チェックアウト。
git checkout -b feature-A
ブランチを作成することで、Aさんの作業が他のメンバーに影響しないように。
-
テキストファイルに変更を加える。
echo "Aさんの変更内容" >> textfile.txt git add textfile.txt git commit -m "Aさんによるテキストファイルの変更"
-
Aさんの変更をリモートリポジトリにプッシュ。
git push origin feature-A
Bさんの作業
-
Bさん用のブランチを作成し、チェックアウト。
cd ~/Desktop/git_practice_project git checkout -b feature-B
Aさんとは異なるブランチで作業することで、Bさんの変更がAさんの変更と競合しないように。
-
テキストファイルに変更を加えます。
echo "Bさんの変更内容" >> textfile.txt git add textfile.txt git commit -m "Bさんによるテキストファイルの変更"
-
Bさんの変更をリモートリポジトリにプッシュ。
git push origin feature-B
プルリクエストの作成(Backlogを使用)
リモートリポジトリにプッシュした後、Backlogでプルリクエスト(Backlogでは「プルリク」や「マージリクエスト」とも呼ばれる)を作成します。プルリクエストを作成することで、他のメンバーに自分が行った変更を通知し、コードレビューを依頼可能。
具体的な手順は以下の通り。
- Backlogのプロジェクトページにアクセス。
- 「プルリクエスト」メニューから「新規プルリクエスト作成」をクリック。
- プルリクエストのタイトルと説明を入力。
- タイトルは、何を変更したのかが分かるように簡潔に記述。
- 説明には、変更の目的や内容、注意点、関連する課題番号などを詳しく記述。
- 「マージ元ブランチ」と「マージ先ブランチ」を選択。
- レビュー担当者を指定し、「作成」ボタンをクリック。
最新の変更の取り込み
他のメンバーの変更がメインブランチにマージされた場合、自分のブランチにその変更を取り込み。最新のメインブランチを取得し、作業中のブランチにマージ。
# メインブランチに切り替え
cd ~/Desktop/git_practice_project
git checkout main
# 最新の変更を取得
git pull origin main
# 開発ブランチに戻る
git checkout feature-A
# メインブランチの変更をマージ
git merge main
競合が発生する場合は、このタイミングで解決。競合解決には、手動でファイルを編集して修正した後、再度コミット。
完了後のブランチ削除
開発が完了し、ブランチがメインにマージされた後は、不要になったブランチを削除。
# メインブランチに切り替え
git checkout main
# ローカルブランチの削除
git branch -d feature-A
# リモートブランチの削除
git push origin --delete feature-A
ブランチを削除することで、リポジトリの整理を行い、不要なブランチが増えることを防止。
まとめ
- ブランチを作成し、他のメンバーの作業と干渉せずに独立して開発を進めます。
- リモートにプッシュし、他のメンバーと協力してコードレビューを行います。
- 他のメンバーの最新の変更を取り込みながら作業を進め、最終的にメインブランチにマージします。
これにより、複数人での並行開発がスムーズに進行し、コードの品質を保ちながら効率的にプロジェクトを進行可能。
Discussion