Gitが指示される理由

今日、実際にGitの便利さを改めて感じた瞬間があった。

前から漠然と思っていたブランチを切ってマージしてと言う概念だが、丁度、一つのプロジェクトの大きな改修を実施中なのだが、完成までに細々とした要望が出てきたので、その都度、今の修正が影響しないように別ファイルを用意してあって改修部分以外を同期しているので、そっちのプロジェクトで修正してリリースしていると言う事をやっている。

これをGit管理下でやると、デバックもしくは小さな要望があった時点でマスターからブランチを切ってクローンする。

そのクローンは今の大規模修正が反映されてないマスターのクローンで別においているプロジェクトと同じ状態である。

なので、そのブランチで要望を追加してコミットしてマスターにマージする。

すると、この時点でマスターは要望を反映したプロジェクトになっているが、大規模修正中のブランチとは中身が改修分だけ違いが出ている。

なので、その改修をdevelopブランチにマージしてやると、現時点の要望を追加したプロジェクトに大規模修正を追加して継続出来る様になると言う事なんだが、概念としてはわかっていたのだが、実際にやって見ると、実に完璧にそうなっていて結構感動した。

developブランチに無いファイルなども、マージをする事で反映されて、マスターに作業ブランチを戻すと大規模修正が反映してない状態に切り替わる。

思った通りにソースコードも切り替わっていて、いちいちコピーしておいておく必要も無く、安心して大規模修正中の途中でもそれはそのまま、反映前のマスターにブランチを切り替えて修正後、その分をマージしてやれば、手動でわざわざ別のフォルダーにプロジェクトをコピーしなくても一連の流れの中で対応出来る事を実際に確認出来たので、手動でのバージョン管理を保険的にやってはいたが、そんな必要は無く、Gitを導入した時点で全部まるっと折り込み済みと言う事なのだ。

だから、SVNよりもGitが指示される様になってきたわけだ。

未だにSVN使っているところってGitに切り替えない理由ってあんの?

SVNからGitに切り替えるのに工数がかかると言う事らしいけど、Gitに切り替えるコストを直ぐに取り戻せない様なSI屋はろくな製品作る能力ないと思うな。

だって、切り替えるのに何で工数かかる?切り替えるというか導入すれば良いだけで、SVNのままGitを追加導入しても問題ないし、共存出来るし、現にSVN環境の職場で俺だけGitでも管理しているけど問題起きてない。

共存しているとちょっと手間だけど、開発のブランチきってるイメージで自分用のローカルリポジトリで開発して、SVN用のリポジトリでは一切プロジェクトを開かず、WinMergeでファイルの整合性を確認して手動でコピーしているわけだ。

そんで、ローカルリポジトリにSVNのプロジェクトをマージして自分はそのローカルリポジトリで開発を続け、完了した時点でSVNの方に、手動でファイルをステージングしてSVNのコミットを実施している。

まぁ苦肉の策だが、その便利さを実際に見せて納得させる必要があるので致し方なくGit化に向けて突き進んでいるわけだ。

なので、ある程度Gitの事を把握してないと何言われるかわからないので、その分自分自身のスキルを磨くことになって楽しくて仕方が無い。