Skip to content

Instantly share code, notes, and snippets.

@ntk1000
Last active August 29, 2015 14:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ntk1000/8bd9e34dd99831376fc8 to your computer and use it in GitHub Desktop.
Save ntk1000/8bd9e34dd99831376fc8 to your computer and use it in GitHub Desktop.

gitのこと


このgistはstfuawsc_itg advent20日目の記事です

すみません、風邪で一日遅れの投稿です。

子どもが通う保育園では胃腸炎が流行っており、戦々恐々とする毎日です...


要約すると

仕事でgit-flow導入しており、そこそこうまく回っているという話です


git

自分が関わってきたプロジェクトでは未だにvssを使っているところが多く、何とかしたい焼き尽くしたいという思いがずっとありました。


vss以外のメジャーなvcs(subversion, mercurial, git)と一通り使ってみましたが、githubの勢いもあってこれからはgitなのかなーと考えたのが2011年頃。


幸い翌2012年に新規プロジェクトに関わる機会があったので、gitを導入してみて使い始めました。


vssを使い続けることのデメリットはあえてここで挙げないし、枯れていると見るか打捨てられた技術と見るかは人それぞれだと思うのですが、MSが一部のコードベースをgithubに移していることからもgitを使うのは一つの流れなのかな、と考えます。

まあgit≠githubではあるのですが。


subversionがgithubに移行したというニュースを見た覚えがあったのだけど、エイプリルフールネタでした


sourcetree

2012年のプロジェクトで一通り使ってみて便利だなと思う反面、周囲に広めるにあたって下記がネックになるかなと感じました。

  • CUIベースである
  • コマンドがたくさんある

翌2013年に別の新規プロジェクトに関わることになったので、ここでもgitを使うつもりでした。

が、上記をどう解決するか悩んでいた時に、丁度タイミングよくgitのGUIツールであるsourcetreeのwindows版がリリースされたのでした。

st


宣伝するつもりはないのですが、主要な操作がボタン化されていることやrepositoryの状態が見えることから、割と初めて触る人にも説明しやすく、自分的にはしっくりくるツールだった訳です。

button

repos


あとはここなど、初心者向けに丁寧に説明されたサイトがそろってきたこともあって、ノンプログラマの方にも使ってもらいやすい?状況になってきた、というのもあります。


git-flow

そんな訳で2013年のプロジェクトもgitでまわし*、リリースを迎えることになりました。

幸い残りのお仕事はまだまだ沢山あって、リリース後も追加開発案件目白押しという状態。

* 2012年のプロジェクトはどうなったかって?お察しください


つまりリリース後の保守運用をしながら、機能追加開発を行うということで、そういえばちょうど良さげな運用フローがあったな...と思い出したのがgit-flowです。

git-flow


幸いsourcetreeにもメニューがあり、導入は楽でした。

git-flow menu


あとは各ブランチ使い分けのルール決めですが、概ね以下のルールで運用しています。

  • master: 基本的に直接いじらない
  • develop: 基本的にいじるメインブランチ、リリース前の最新が存在する状態
  • feature: 機能追加の際に作成
  • hotfix: 緊急でバグ修正必要だけどdevelopは結合試験中でリリースできない状態の時に作成
  • release: 本番リリース時に作成

git-flowを使ってみようとして調べ始めたころ、ちょうどgithub-flowのことも知り、どうなのだろうと思ったのだけど、導入を見送りました。

理由は

  • CIできてない
  • プルリク駆動が前提となっており、そういう文化がまだ根付いていない

特に後者についてはなんとかしたいですね

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment