🐷

Gitチュートリアル ( Backlog )

2024/10/29に公開

複数人のチームで開発を行う際のGitブランチの活用。
各メンバーが独立した作業環境で機能開発を進める方法。
以下に、ブランチを使ったGitの基本的なワークフローを具体的なコマンドとともに説明。

1. リポジトリのクロー

Backlogなどのリモートリポジトリからローカル環境にリポジトリをクローン。

git clone https://example.backlog.jp/git/username/repository.git

リポジトリのURLはBacklogのリポジトリページから取得可能。

2. 新しいブランチの作成とチェックアウト

各メンバーが新しい機能を開発する際の新しいブランチの作成。メインブランチ(通常は mainmaster)から派生。新しい機能 "feature-x" の開発を始める場合。

git checkout -b feature-x

このコマンドで "feature-x" という名前の新しいブランチを作成し、そのブランチに切り替え。ブランチを使用することで、メインブランチに影響を与えずに安全に作業を進める方法。

Mac内でのチュートリアル(AさんとBさん)

以下は、Macのデスクトップ上でディレクトリを作成し、AさんとBさんがそれぞれのブランチでテキストファイルを編集するチュートリアル。

準備

  1. デスクトップにプロジェクト用のディレクトリを作成。

    mkdir ~/Desktop/git_practice_project
    cd ~/Desktop/git_practice_project
    git init
    

    このコマンドで、新しいGitリポジトリを初期化。ディレクトリを初期化することで、Gitが変更を追跡可能に。

  2. 最初のテキストファイルを作成し、最初のコミット。

    echo "初期内容" > textfile.txt
    git add textfile.txt
    git commit -m "Initial commit with textfile.txt"
    
  3. リモートリポジトリをBacklogに登録。

    git remote add origin https://example.backlog.jp/git/username/git_practice_project.git
    git push -u origin main
    

    リモートリポジトリを登録することで、他のメンバーと変更を共有可能。

Aさんの作業

  1. Aさん用のブランチを作成し、チェックアウト。

    git checkout -b feature-A
    

    ブランチを作成することで、Aさんの作業が他のメンバーに影響しないように。

  2. テキストファイルに変更を加える。

    echo "Aさんの変更内容" >> textfile.txt
    git add textfile.txt
    git commit -m "Aさんによるテキストファイルの変更"
    
  3. Aさんの変更をリモートリポジトリにプッシュ。

    git push origin feature-A
    

Bさんの作業

  1. Bさん用のブランチを作成し、チェックアウト。

    cd ~/Desktop/git_practice_project
    git checkout -b feature-B
    

    Aさんとは異なるブランチで作業することで、Bさんの変更がAさんの変更と競合しないように。

  2. テキストファイルに変更を加えます。

    echo "Bさんの変更内容" >> textfile.txt
    git add textfile.txt
    git commit -m "Bさんによるテキストファイルの変更"
    
  3. Bさんの変更をリモートリポジトリにプッシュ。

    git push origin feature-B
    

プルリクエストの作成(Backlogを使用)

リモートリポジトリにプッシュした後、Backlogでプルリクエスト(Backlogでは「プルリク」や「マージリクエスト」とも呼ばれる)を作成します。プルリクエストを作成することで、他のメンバーに自分が行った変更を通知し、コードレビューを依頼可能。

具体的な手順は以下の通り。

  1. Backlogのプロジェクトページにアクセス。
  2. 「プルリクエスト」メニューから「新規プルリクエスト作成」をクリック。
  3. プルリクエストのタイトルと説明を入力。
    • タイトルは、何を変更したのかが分かるように簡潔に記述。
    • 説明には、変更の目的や内容、注意点、関連する課題番号などを詳しく記述。
  4. 「マージ元ブランチ」と「マージ先ブランチ」を選択。
  5. レビュー担当者を指定し、「作成」ボタンをクリック。

最新の変更の取り込み

他のメンバーの変更がメインブランチにマージされた場合、自分のブランチにその変更を取り込み。最新のメインブランチを取得し、作業中のブランチにマージ。

# メインブランチに切り替え
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

ブランチを削除することで、リポジトリの整理を行い、不要なブランチが増えることを防止。

まとめ

  1. ブランチを作成し、他のメンバーの作業と干渉せずに独立して開発を進めます。
  2. リモートにプッシュし、他のメンバーと協力してコードレビューを行います。
  3. 他のメンバーの最新の変更を取り込みながら作業を進め、最終的にメインブランチにマージします。

これにより、複数人での並行開発がスムーズに進行し、コードの品質を保ちながら効率的にプロジェクトを進行可能。

Discussion