0
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?

チーム開発でのGitの基本操作

Posted at

はじめに

今回、初めてチーム開発に関わる(といっても本当に触り程度)ことになったので、その際の基本操作と意味をまとめておきます。
よく使う操作ばかりですが、ブランチが多く、チームで使うブランチということで気をつけてやる必要がありました。(実際の操作は会社やチームにより全然違うと思います。)

0. 全体のイメージ

リモートにあるブランチと自分のところ(local)にあるブランチを分けて考えておくと良いと思います。
リモートでもローカルでも同じ名前になるのでイメージしにくかったのですが、以下のことを意識したら整理できてきました。

  • どのブランチにもリモートとローカルが存在していて、基本的にPCで操作しているのは全てローカルのブランチ
  • ローカルの内容をリモートに当てたり、リモートからローカルに取り込んでいる
    (逆に言えばリモートブランチはこれだけでしか基本使わない)
  • リモートブランチのことはoriginという名前で操作している
  • ブランチを移動した先も基本はローカルで、そこでの編集はまたリモート(origin)に当てる必要がある

1. ブランチを切る

全体のプロジェクトの作り

①mainブランチ : 本番環境。ユーザーが使う部分
②devブランチ : 開発検証環境。本番前の検証などを行う。
③featureブランチ : 開発環境。ファイルの作成、修正などは全てここで行う。

③で作成、修正を行なっていくので、そのためのブランチを②から切ります。

gitの操作

  1. git checkout dev devブランチに移動(このとき移動した先もローカルのdev)
  2. git fetch ローカルのdevブランチにリモートのdevの最新情報を持ってくる(この時点ではまだ取り込んでいない)
  3. git pull origin dev ブランチの最新化。最新情報をリモート(origin)からローカル(dev)に取り込む
    ※これ忘れると古い情報で進めることになるのでコンフリクト起きる原因になる
  4. git checkout -b feature最新化したdevブランチからfeatureブランチを作成

2. 今いるブランチの変更を上の階層のブランチに当てる

切り取ってきたfeatureブランチで修正などを行なったらそれをdevのブランチに当てる必要があります。
(いきなりmainには行かない)
ここは手順が多くなります。また、一つ注意として、ただ作成や修正した内容はローカルにすら当てられていません。まずはその作業からです。

編集内容をローカルのfeatureブランチに当てる

  1. git add . 編集内容をローカルに当てる前にステージングします
  2. git commit -m "message" ローカルのfeatureブランチに当てます

ローカルのfeatureブランチの内容をリモートに当てる

  1. git push origin feature リモート(origin)にローカル(feature)の内容を当てます

リモートのdevにリモートのfeatureの内容を当てる

  1. git checkout dev devブランチに移動する(この時の移動先もローカルのdev)
  2. git fetch まずはdevブランチを最新化(ブランチを切るときにもやったが、編集している間に誰かがdevにその人の変更を反映しているかもしれないから最新化する必要がある)
  3. git pull origin dev リモートのdev(origin)からローカルのdevに最新情報を取り込む(この時は先ほどのfeatureの情報は入っていない)
  4. git merge feature 先程のfeatureブランチの情報を今いるdevブランチに取り込む(この時もローカルのdevに取り込まれている)
  5. git push origin dev ローカルのdevをリモート(origin)に反映する

これでリモートのdevまで反映が完了です。
複数人で同時にこの作業をやると最新化されているのか分かりにくい状況になったりするので、連絡を取り合いながら順番に操作すると良いと思います。

最後に

自分で図などを作ってよりイメージを固めてみれば、自分がなんの操作をしているのかわかってくると思います。
私はいまだに先輩方に見ていただき、ぶつぶつ唱えながらやっていますが、自分だけでコンテンツを作っているわけではないので丁寧にやるべき作業なはず。コンフリクトが起こることもあるので、本当にやっていることがわかるまでは一人で勝手に作業しないようにします。。。

0
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
0
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?