Gitバージョン管理によるチーム開発

チーム開発のためのGitバージョン管理

チームで作業する場合は、編集を始める前にローカルリポジトリをリモートリポジトリと同期し、自分の変更にはブランチを使い、レビューや統合の準備ができたら作業内容をサーバーへプッシュします。

編集前にpullする

作業を始める前に、リモートリポジトリからローカルコピーを更新します。

git pull

これにより、古いコードの上で編集してしまうことを避けられます。チームで特定のメインブランチを使っている場合は、まずそのブランチに切り替えてからpullします。

git checkout master
git pull origin master

現在では、masterではなくmainを使うリポジトリもあります。プロジェクトで使われているブランチ名を確認してください。

現在のブランチを確認する

ローカルブランチをすべて表示し、現在どのブランチにいるかを確認するには、次を実行します。

git branch

現在のブランチには*が付きます。

新しいブランチを作成して切り替える

作業用のブランチを作成します。

git branch branchname
git checkout branchname

同じ操作は、1つのコマンドでも実行できます。

git checkout -b branchname

fix-login-errorfeature-user-profileのように分かりやすいブランチ名を使うと、他のチームメンバーが作業の目的を理解しやすくなります。

変更をコミットする

ファイルを編集したら、何が変更されたかを確認します。

git status
git diff

コミットしたいファイルを追加します。

git add filename

次にコミットを作成します。

git commit -m "Describe the change"

良いコミットメッセージは、何が変わったのか、なぜ変えたのかを簡潔に説明します。

ブランチをマージする

ブランチをメインの開発ブランチへ戻してマージする準備ができたら、まず対象のブランチに切り替えます。

git checkout master
git pull origin master

次に作業ブランチをマージします。

git merge branchname

コンフリクトがある場合、Gitは修正が必要なファイルを表示します。それらのファイルを開き、コンフリクトマーカーを解消し、結果をテストしてからマージをコミットします。

完了したブランチを削除する

ブランチがマージされたら、ローカルブランチを削除します。

git branch -d branchname

ブランチがまだマージされていない場合、Gitは削除せずに警告を表示します。

コードをサーバーへプッシュする

ブランチをリモートリポジトリへプッシュするには、次を実行します。

git push origin branchname

masterへマージした場合は、更新されたmasterブランチをプッシュします。

git push origin master

同様に、リポジトリがmainを使っている場合は、mastermainに置き換えてください。

基本的なチームワークフロー

シンプルなチームワークフローは次のとおりです。

git checkout master
git pull origin master
git checkout -b branchname
# edit files
git status
git add filename
git commit -m "Describe the change"
git checkout master
git pull origin master
git merge branchname
git push origin master
git branch -d branchname

大規模なチームでは、メインブランチへ直接マージするよりも、ブランチをプッシュしてプルリクエストを開く方が通常は適しています。これにより、変更が受け入れられる前にコードレビュー、自動テスト、議論を行えます。

Leave a Reply