1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

シナリオで理解するGitを使ったチーム開発における新機能の追加とブランチの管理方法

1
Posted at

本記事では、新人エンジニアのタカノリくんが、初めてのチーム開発でGitを使ってタスクをこなすシーンを通じて、git checkout コマンドの使い方と新しいブランチを作成する理由、作業後のブランチの切り替えについて学んでいきます。

【シナリオ】

タカノリくんは、仮想通貨の取引を行うWebアプリケーションを開発するプロジェクトチームに参加しました。今日から彼は、新たな機能の開発に取り組みます。開発する機能は"ユーザープロフィール表示"です。

STEP 0: ブランチの状態を確認する

まず、タカノリくんは自分が現在どのブランチにいるのか確認します。これには git branch コマンドを使用します。

$ git branch

このコマンドを実行すると、以下のような出力が得られます:

* main

ここで * は現在のブランチを示しており、タカノリくんは現在 main ブランチにいることがわかります。

STEP 1: 新しいブランチを作る

次に、新しい機能を追加するための新しいブランチを作ります。この操作は git checkout -b コマンドを使って行います。

$ git checkout -b user-profile

これで user-profile ブランチが作成され、そのブランチに切り替えられました。タカノリくんはこのブランチでユーザープロフィール表示の新機能を開発します。

STEP 1.5: git log を確認し、HEADの位置を理解する

タカノリくんは git log コマンドを使って、自分が今どのブランチにいるのか、最新のコミットは何かを確認します。

$ git log

そして、こんな出力が得られます。

commit a1b2c3d4e5f67890g
Author: Takanori <takanori@example.com>
Date:   Fri Jul 7 14:53:40 2023 +0900

    Add user-profile feature

HEAD -> main, origin/main, origin/HEAD

ここで (HEAD -> main) と表示されています。これは現在 HEAD(つまり私たちが作業している位置)が main ブランチにあることを示しています。もし、この位置が user-profile ブランチであれば (HEAD -> user-profile) と表示されます。

STEP 2: 新しい機能の開発

タカノリくんは user-profile ブランチで新機能の開発を進めます。コードが書き終わったら、git addgit commit コマンドを使って変更をコミットします。このブランチはタカノリくんが自由に変更できるので、試行錯誤しながらコーディングを進めることができます。

STEP 3: git checkout で元のブランチに戻る

新機能の開発が完了し、テストも無事に通ったとします。タカノリくんは次に、自分の変更をメインブランチにマージするために、まず main ブランチに戻ります。このときも git checkout コマンドを使います。

$ git checkout main

これでタカノリくんは main ブランチに戻ることができました。main ブランチに戻る理由は、新たに作成した機能をメインブランチに統合(マージ)するためです。これにより他の開発者もタカノリくんが追加した新機能を利用することができます。

STEP 4: main ブランチへのマージ

タカノリくんが main ブランチに戻ったら、次に新たに作成した user-profile ブランチを main ブランチにマージします。この操作により、main ブランチにタカノリくんが追加した新機能が反映されます。このマージ操作は git merge コマンドを使って行います。

$ git merge user-profile

これで main ブランチに user-profile ブランチの変更が統合されました。

STEP 5: 変更をリモートリポジトリにプッシュする

最後に、ローカルリポジトリの変更をリモートリポジトリに反映します。これにより、チームメイトもタカノリくんが追加した新機能を利用することができます。この操作は git push コマンドを使って行います。

$ git push origin main

これでリモートリポジトリの main ブランチにも新機能が反映されました。

STEP 6: チームメイトが新機能を利用する

タカノリくんが新しい機能を main ブランチにマージし、リモートリポジトリにプッシュした後、その新機能を他のチームメイトが使いたい場合、彼らは次の手順を踏む必要があります。

STEP 6.1: 最新の main ブランチを取得する

まず、他のチームメイトは自分のローカルリポジトリが最新の状態であることを確認する必要があります。これには git pull コマンドを使用します。

$ git checkout main
$ git pull origin main

これにより、リモートリポジトリの最新の main ブランチ(タカノリくんが追加した新機能がマージされた状態)が、チームメイトのローカルリポジトリの main ブランチに反映されます。

STEP 6.2: 新機能を使うための新しいブランチを作成する

次に、チームメイトは新機能を使うための新しいブランチを作成します。ここでも git checkout -b コマンドを使います。

$ git checkout -b new-feature-using-profile

これで new-feature-using-profile ブランチが作成され、そのブランチに切り替えられました。チームメイトはこのブランチで新機能(ユーザープロフィール表示)を利用した開発を行います。

まとめ

git checkout コマンドは、ブランチの作成と切り替えを行う非常に便利なツールです。新しいブランチを作成し、そこで作業を行うことで、他のメンバーとの作業の干渉を防ぎます。作業が完了したら、main ブランチに戻り、新機能を main ブランチに統合します。そして、その変更をリモートリポジトリにプッシュすることで、チーム全体で新機能を利用できるようになります。ぜひ参考にしてみてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?