NDKCOMでは今までバージョン管理にSubversion(SVN)を使用していましたが、品質向上に向けてGitサービスに便利な機能があるということで、移行することになりました。
しかしながら、Gitサービスにもいろいろ種類があったり、Git未経験者ばっかりの中で全部一度に移行は不安もあるので、小規模に試運転することになりました。
Git試運転のためにやったこと
Gitサービス選定
プルリクエストやCI/CDなどの使ってみたい機能はメジャーなGitサービスならどれでも使えそうだったので、とりあえず有名どころを2つ選びました。
Gitサービスの中で圧倒的な知名度を誇るサービス。ホスティング代表。
GitLab
OSSのGitHubライクなサービス。オンプレ版も無料で使える。オンプレ代表。
運用ルール決め
Gitの経験があまりなく、どのような使い方がいいのかわからなかったので、とりあえず広く使われているルールを使ってみようとGit-Flowを採用しました。
Git Flowとは、Gitのブランチ戦略の一つで、長期的なプロジェクトの管理に適したワークフローです。
Git Flowは、メインブランチ(master)、開発ブランチ(develop)、機能ブランチ(feature)、リリースブランチ(release)、ホットフィックスブランチ(hotfix)の5つのブランチで構成されます。
開発ブランチ(develop)から機能ブランチ(feature)を切り、機能ブランチでの開発が完了したら、developブランチにマージします。
リリース前の最終調整やテストを行うためのリリースブランチ(release)を作成し、リリースが安定したら、developブランチとmasterブランチにマージします。
ホットフィックスブランチ(hotfix)は、masterブランチの問題を緊急修正するためのブランチです。ホットフィックスブランチで修正を行い、masterブランチにマージします。
Git Flowは、開発中の機能を分離し、品質テストやコードレビューを実施することで、品質と安定性を保証することができます。
参考ページ
リポジトリをSVNからGitへ移行
SVNからGitへの移行は、git svnという専用のコマンドがあるので思ったより簡単にできました。(時間はそれなりにかかりますが)
参考ページ
Gitのよかったところ
- ローカルでコミットができるので、間違ったときとかに戻りやすい
- ブランチを分けることで、他の人への影響を気にしないで済む
まとめ
Git試運転からまだ日が浅いため、今回は簡単な紹介となりました。
今後使っていく中で気づいたことや、便利な機能(コマンド)、導入の目的の一つであるCI/CDなども、機会があればこのブログで紹介したいと思います。