diadia

興味があることをやってみる。自分のメモを残しておきます。

チーム開発で使うgitについて

プログラミングを始めてあと少しで3年になりますが、がっつり開発をやっている会社につとめるのは今回が初めてでgitによるチーム開発について分かったことを少しまとめる。

ブランチの扱い

自分の勤める環境では、master, dev, featureというブランチが存在しており、masterはデプロイ用の製品コードでdevをマージする。
で、dev自体はmasterのバージョンを上げるために存在するのだけれどもこいつ自体を直接弄って開発することはない。devリポジトリからブランチを切って機能追加し、devが切ったブランチをマージしていく。そのdevからブランチを切ったのがfeatureといブランチ名である。

機能追加時に開発者は何をするべきか(概要)

まず機能追加のためにdevからブランチを切る。具体的にはdevからブランチを切ってfeature/hogeの機能追加のような名前をつける。
そしてそのブランチで開発を行う。
それで機能を開発したらgit のaddやcommitしていくけれど、この時にコマンドを使うよりはvscodeやpycharmのツールで変更点を把握する方が確認しやすいし、すごい効率的だと感じた。 で、コミットしたらgitのプッシュを行い、その後リモートリポジトリにてプルリクエストを作成して終了する。これが全体の流れである。

何をするべきか(具体的な手順)

1 ブランチを切る

# まずブランチのベースを確認する 自分のブランチがdevかどうか確認する
$ git branch

# devじゃなかった場合devに変更する
$ git checkout dev

# devからブランチを切る
$ git checkout -b feature/hoge機能追加

2 開発していく 特にgitで考えることはない

3 git add, commit

# ここはvscodeのようなツールを使って変更点を確認しながらaddやcommitする方がよい

4 git pushを行う

# git push
$ git push origin HEAD
# HEADは自分の作業しているブランチを指し、プッシュ先をリモートリポジトリの同一名ブランチにプッシュされる。同一名ブランチが存在していれば、リモートリポジトリの当該ブランチが更新される。当該ブランチが存在していなければ新たにブランチが作成される仕組みになっているらしい。

5 プルリクエスト作成 このあとリモートリポジトリでプルリクエストを作成して終了。