一見、悪徳に見えて、ただGitを進めているだけの男【ブログリレー2020Summer 16日目】

ブログリレー'20夏
 body {font-family: BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;}

ごめん、お待たせ!(23時30分投稿) 14期のAL17111、ミマです。夜分遅くに悪いね~。

...

でさ、どう? ぶっちゃけもう使ってる?

...
...
...

あ~、名前だけなら知ってる?いいじゃん、いいじゃん!

でさ、ね、それ使うだけでどんなファイルでも過去の状態を復元できるって言ったら、どう? 興味ある?

...
...
...

うん、あるよね!絶対あるよね、そりゃさ! 間違えてファイル消しちゃった、とかレポート書き換えたら前の方が良かったとかあるもんね!

え?怪しい? どうせ怪しいソフトウェアダウンロードさせようとかそういう事だと思ってるでしょ?

ごめん、マージで申し訳ないけど、俺そういうコンピュータに害を与えるソフトウェアとか許せないのよ。研究室でそういうの検知する研究してるくらいだし。

じゃあさ、ちょーっと聞いてほしいんだけどさ、 今ここにある「レポート.docx」、「最新版_レポート.docx」、「最新版_レポート - コピー.docx」「真・最新版_レポート.docx」、「真・最新版_レポートver2.docx」、「sin最新版_レポート.docx」。

これらのファイルの全ての状態を 1つの「レポート.docx」のみで保持できる、って言ったら、どう?

...
...
...

ちょっと待ってちょっと待って、 めちゃくちゃ疑ってんじゃん! 絶対騙されませんよ、って顔してんよ。

OKOK!初めはみんなそんな反応するよ、うん。

... ... ...

でも出来ちゃうのよね、コレが。無料のソフトウェアであるGitを使えばね。 え?やっぱり怪しいソフトウェア勧めてくるじゃんって?

いやいやいやいや、みんなやってる、みんなやってることだからコレ! 2019年の時点で全世界4000万のユーザが使ってるのよ([1] Octoverse 2019年次レポート)。 合法ね。合法!全然違法じゃない!

コレを使ってね、git init->git add {対象のファイル名}->git commit -m "{ファイルの状態メモ}"、この3ステップをやるだけで、この状態のファイルをいつでも復元できるようになっちゃうのよ!

ビックリだよね、コレ! ファイルを消しちゃっても、上書きしちゃっても、いつでもその状態に戻せるのよ!((.gitを消した場合は除く))

これ凄くない? 仮に、仮にね、間違えてレポート消しちゃったとするよ。でも、さっきの3ステップやっておくだけで復元できちゃうの。凄くない?コレ!

...
...
...

更にさ、 まだ機能があるって言ったらどうする?聞きたいよね?聞きたいよね? 良いよ良いよ、言っちゃって。

... ...

「「聞きたい٩( 'ω' )و」」

OK、OK、OK!

これ、複数の状態を登録できるから、さっき言ったように編集差分をメモが付いた状態で保存できるのよ!

ここの左側に書いてある「079ecde」とか「7458eaa」ってのをハッシュって言って、そこを指定するとそこの状態を復元できるのね。ファイルを削除しちゃったとしても

更に、変更した部分も表示できるのよ!

凄くない? これで、もう「レポート.docx」をコピーして編集する必要が無くなる訳よ!

俺はこういう話をしに来たの。 Gitを使うだけで、どんなファイルでも過去の状態を復元できて、どういう風に編集したのか分かるってお話。

え?難しそう? 最近はコマンドを打たなくても、ボタン押すだけで使えちゃうGUIベースのソフトウェアもいくつか出てるし、楽勝よ、こんなん。 (GitHub Desktop, Source Tree(Mac OS X), GitKraken)

とりあえず始めてみよ?わかんなかったら質問すれば良いんだしさ! そういうお話。


はい。n番煎じでした。終始ウザい口調で申し訳ありませんでした。

さて、文中でも言っていますが、Gitは実際に触ってみないと使えません。 200メートル個人メドレーを見ただけで泳げるようになりますか? なりませんよね。それと同じです。まずは動かしてみましょう。 分からなければ調べるなり聞くなりしましょう。

また、今回はほとんどGitの使い方には触れませんでした。 なぜなら、既に優れた解説がネット記事や文献として転がっているためです。 それに対し、実際にGitで何ができるのか、どこが嬉しいのかについて記載されている記事は少ないように感じました。

今回紹介したものは、ほんの一例であり、皆さんご存じGitHubや、commit前に特定の動作をするhookなど、Gitはまだまだ奥が深いです。 これらを最初から全て知ろうとするのではなく、徐々に習得していけば良いと思います。 これは、ポケモンなんかと同じで、最初は殿堂入りで満足しますが、気が付いたら殿堂入りはチュートリアルになり別の要素を追求するようになっていく感覚と似ています。

話はズレましたが、Gitは何かを頻繁に編集する人にとって得られる恩恵が大きいツールの1つです。 情報系じゃないし別にいいや、ではなく時間に余裕のある今だからこそ、使ってない方はぜひ使い始めてみてはいかがでしょうか。

以上。