NDKCOM エンジニアブログ

Evolution for 'NDKCOM software Quality improvement'

Gitを使ってみる

NDKCOMでは今までバージョン管理にSubversion(SVN)を使用していましたが、品質向上に向けてGitサービスに便利な機能があるということで、移行することになりました。

しかしながら、Gitサービスにもいろいろ種類があったり、Git未経験者ばっかりの中で全部一度に移行は不安もあるので、小規模に試運転することになりました。

 

Git試運転のためにやったこと

  1. Gitサービス選定
  2. 運用ルール決め
  3. リポジトリSVNからGitへ移行

 

Gitサービス選定

プルリクエストやCI/CDなどの使ってみたい機能はメジャーなGitサービスならどれでも使えそうだったので、とりあえず有名どころを2つ選びました。

GitHub

Gitサービスの中で圧倒的な知名度を誇るサービス。ホスティング代表。

github.co.jp

 

GitLab

OSSGitHubライクなサービス。オンプレ版も無料で使える。オンプレ代表。

about.gitlab.com

運用ルール決め

Gitの経験があまりなく、どのような使い方がいいのかわからなかったので、とりあえず広く使われているルールを使ってみようとGit-Flowを採用しました。

Git Flowとは、Gitのブランチ戦略の一つで、長期的なプロジェクトの管理に適したワークフローです。

  1. Git Flowは、メインブランチ(master)、開発ブランチ(develop)、機能ブランチ(feature)、リリースブランチ(release)、ホットフィックスブランチ(hotfix)の5つのブランチで構成されます。

  2. 開発ブランチ(develop)から機能ブランチ(feature)を切り、機能ブランチでの開発が完了したら、developブランチにマージします。

  3. リリース前の最終調整やテストを行うためのリリースブランチ(release)を作成し、リリースが安定したら、developブランチとmasterブランチにマージします。

  4. ホットフィックスブランチ(hotfix)は、masterブランチの問題を緊急修正するためのブランチです。ホットフィックスブランチで修正を行い、masterブランチにマージします。

  5. Git Flowは、開発中の機能を分離し、品質テストやコードレビューを実施することで、品質と安定性を保証することができます。

参考ページ

nvie.com

 

リポジトリSVNからGitへ移行

SVNからGitへの移行は、git svnという専用のコマンドがあるので思ったより簡単にできました。(時間はそれなりにかかりますが)

 

参考ページ

shio-ax.hatenablog.com

Gitのよかったところ

  • ローカルでコミットができるので、間違ったときとかに戻りやすい
  • ブランチを分けることで、他の人への影響を気にしないで済む

 

まとめ

Git試運転からまだ日が浅いため、今回は簡単な紹介となりました。

今後使っていく中で気づいたことや、便利な機能(コマンド)、導入の目的の一つであるCI/CDなども、機会があればこのブログで紹介したいと思います。