webエンジニアの日常

RubyやPython, JSなど、IT関連の記事を書いています

gitを使わないとこうなるよ。という、本当にあった怖い話

git使っていますか?

私は普段から開発で使っているのですが、初めて使ったときは毎回コンフリクトし、何回も他人の編集を消していました。わざとじゃないです。

今回はgitを使わなかったせいでこんな大変なことになったという、本当にあった怖い話です。

プロジェクトはあるシステムの改修でした。

チームのメンバは、プロジェクトリーダーAと私の2人。

開発用のgitレポジトリもあって、そこからソースをクローンしてきて、開発を行っているのですが、なぜかデプロイだけdropboxでした。

capistranoとか使って無いです。dropboxへ手動でソースを更新し、手動でリモートのサーバを再起動します。

事件1 私の知らない画面

トップページを編集していたのですが、ふと、マージ後画面を見てみようと思いました。

テスト環境を開いてみると、そこには私の知らない画面がありました。

まったく知らないというわけでは無いです。確かに自分の修正が部分的に取り込まれています。

そうです。リーダーが手動で私の変更部分だけデプロイしたのです。画面のベースとなっているテスト・本番環境用のcssはmasterブランチにしかありません。なので私はみれません。

しまいには、テスト環境のみで発生するcssのバグを直せと依頼がきました。目をつむりながら想像で修正を行うような気持ちです。

直ったことが確認できたのはデプロイ後でした。

事件2 マージされなかった修正の怨霊

同じプロジェクトで、次期バージョンのための対応を行っていたときの話です。(B対応とします)

次期ではないけど、同時に修正を入れるかもしれない対応がありました。(C対応とします)

残念ながら、C対応はブランチもあるのに結局、今回はマージされないことになりました。

B対応のデプロイが完了し、テスト環境でテストをしていると、たまに修正が反映されていないときがありました。リーダーのソースの反映漏れです。これがおきているだけでも事件なのですが、、、

あるとき、反映されていない修正がありました。またかと思い、リーダへソースの反映をお願いし、ちゃんと反映されたことを確認できてほっとしていたそのときです。

トップページを見てみると取り込まれるはずの無いC対応の修正がそこにはっきりとあったのです。

そしてリーダーは私がこの記事を書いている間もまだ、C対応を取り除く作業をしています。