【css】git でコンフリクト起こした時に考えるべきこと
こんにちは、今回はバージョン管理ツール「git」についてのお話です。
gitって業界では知らない方、というか使っていない方がいないほど有名なツール。
ただgit初心者にとっては困ることも少し…
それが「コンフリクト」ですよね。
最初私がコンフリクトのメッセージを読んだ時なんか「え?犯罪犯したのかな???」くらい慌てましたが、コンフリクト自体は意外と起こります。
「え?起こんなくね?」と思うかたもいるかと思いますが、意外と起こります(怒)
私はフロントエンジニアですので、cssを使う機会が多々、というか毎日なのですがcss は「git管理するのにどうするべきか」が分かれる言語でもあります。
というのも、現在純粋なcssのみでコーディングする方はほぼおらず、scssなどのメタ言語を利用する方が多いため。
かくいう私も便利なのでscssでコーディングをするのですが、scssは最終的にcssにコンパイルしないとHTMLが読み込んでくれません。
なので各自コンパイルすることになるのですが、今回の肝はここ!
私はgulpでscssをuglifyしてコンパイルしているので、scssをコンパイルすると「1行のcss」で出力されてしまいます。
gitは行単位的な判別をするようなので、1行にコンパイルされてしまっては「どこが変わった?ああ、この1行が変わってんのか」と単純に解釈されてしまいます。
なのでこのコンパイル後のcssはコンフリクトが起きるのは仕方ない。
そしてこのcssをgit管理するべきかしないべきか、という議論が起こるんですね。
git管理をしなくても、元のscssがコンフリクトを起こしていなければもう一度コンパイルしなおせばいいですから。
ということで、コンパイル後のcssをgit管理の対象とするかどうかは議論が分かれますがよっぽどのことがない限り、対象から外してしまってもいいんじゃないかな?と感じますね。