ひょんなことからGitを使うことになり、その運用をいろいろと調べてみたのでそのメモ。
経緯
SVNを使ってソースコード管理をしていたけれども、どうにもその文化から抜けられないということでメンバーから「Gitを使ってみたい」と言われました。
Gitは自分自身は自分のプロジェクト管理をするのには使っていたけれど細かい使い方・・・特に複数人数で使うということがほとんどなかったので、いいきっかけだと思って使うことにしました。
こんな形で運用することに
色々と調べた結果、以下の順番で作業環境を固めて準備を進めました。
環境準備
個人的にはBitBucketをかなり重宝しているんだけど、外部のサービスということで使えなかったので結局、自分の環境にGitlabを入れて使うことにしました。
本当はBitBucketかGithubを使いたかった・・・
でも、Gitlabも機能的には遜色ないし、だいぶ使いやすいような気がします。
その時に多少迷ったのが日本語化対応のバージョン(ver9.X)にするか最新版(ver10.X)にするか否か。
ただでさえGitというあまり慣れていないであろう環境で、英語メニューだと拒絶反応を起こすメンバーもいるんじゃないかと思ってちょっと考えました。
ただ、何を調べるにも英語はついて回るし、なにより最初から日本語で慣れると調べるのに苦労することになると思ったので、結局は英語メニューのままでやることにしました。
メンバーのアカウントを作成する
Gitlabの環境を構築したらまずは関係者のアカウントを作成。必要なメンバーのアカウントを作成して渡しました。
グループを作成する
管理者としてグループを作成。このグループというのはプロジェクト名と同義です。
プロジェクトに関連するメンバーをその中に登録します。
リポジトリを作成する
そしてそのグループにリポジトリを作成。
実際にソースコードを突っ込むリポジトリを作るのはもちろんのこと、関連するリポジトリとしてドキュメントを管理するリポジトリも作りました。
ブランチの役割を説明する
ここからは実作業者のルールに近いものとして、ブランチの説明を実施。
よくあるブランチの名前として以下のブランチを定義しました。
- master ・・・ リリース可能状態のものがおいてあるブランチ
- develop ・・・・ 開発中のソースコードを格納するブランチ
- feature-XXX ・・・・機能開発中のブランチ
- release ・・・・ リリース準備作業をするブランチ
開発者はdevelop
ブランチからfeature
ブランチを自分で作って、そこで開発をしてもらうことに。
で、開発がひと段落したらdevelop
ブランチにマージリクエストを発行するように依頼。
マージリクエストを出したら、新しい機能開発をする場合はそのブランチをもとに別の新しいfeature-XXX
ブランチを作って作業をしてもらうように依頼。
マージリクエストはソースコードレビューも兼ねているので、ある程度の有識者がそれが妥当かどうかの判断をするように依頼。
この辺はもうちょっと細かいルールを運用中に整えていくことになるだろうなーと思っています。
Issueの使い方を定義する
課題とかを管理するIssueですが、今回に至っては、「なんでも書いていいよ」というルールにしました。
位置づけ的にはチャットにかなり近いイメージ。
雑談でもいいし、展開したい情報でもいいし、連絡事項でもいいし、もちろん疑問に思った内容でもいいし。
とにかく使うことを中心にした形にしました。
まとめ
こんな感じでとりあえず運用を開始してみようかなと。
色々と課題は出てくると思うけど、それはやりながら解消していこうかなと思っています。
ちなみに現段階での課題としては開発メンバーはIDEを経由してGitを使うという点。自分自身はコマンドラインでのGitしか使ってこなかったのでIDEでどのように操作するのかがよくわからない・・・・
プロジェクトにソースコードを取り込むのもgit clone
するというのはわかるのだけれど画面ではどうやってやるのかがわからん・・・・
調べないとな~。