開発はMac OS X、でも運用はLinux...。開発環境だけで必要な処理をコミットする!!

開発はMac OS X、でも運用はLinuxという環境だと、Mac(開発環境)だけで必要な処理が出てきますよね。例えば、/path/to/libxx.soを/path/to/libxx.dylibに変えたりとかね。
それをなんとかしながら、運用で回避していくのがMacユーザですよね〜(BK!!)
今回は、その方法のひとつを紹介します。
ソースコードは、Gitで管理しているとして、現在はローカルのmasterブランチだとしますね。
まずは開発環境用の修正を入れるブランチを作成します。

$ git co -b patches/dev
(aliasを設定していて、coはcheckoutですよ〜)

このブランチで開発用のいろいろな修正をして次のようなログでコミットします。

開発用の修正です。マージのときに必ずrevertしてください。

以下の修正を含みます。
* 修正1
* 修正2
...

revertのコマンドは以下です。
$ git revert patches/dev

さて、これで準備ができました。
masterに修正をするときは、トピックブランチを作成します。

$ git co master
$ git co -b issues/<チケットID>

そして、cherry-pickサブコマンドで、さきほど作成した開発環境用の修正を取り込みます。

$ git cherry-pick patches/dev

その後はいつも通りコードを修正していきます。
で、マージ。revertしてからマージするのがポイント!!

$ git revert patches/dev
$ git co master
$ git merge --squash issues/<チケットID>

以上ですね〜。

---
他にも、patchesディレクトリに開発環境用のパッチを配置して、patchesディレクトリ自体は.gitignoreに記述するというのもいいですね。
まぁ、Mac OS Xを使っているみなさんは、少なからず上記のようなことをしていろいろ回避しているのでしょうね〜。UNIX互換っていっても、Linuxとは違いますからね〜、いろいろ面倒なんですよwww

--- PR広告
記事を読んでくださり、ありがとうございます。
もしよろしければ、この記事の著者が提供している無料のサービス「かくってる?」をお試しください。