やっちまったをGITで回避する1ファイルだけ元に戻すいざという時のやり方

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

GIT便利なんですが、あまり使いこなせていません。
 

addとcommitとpushぐらいは、ちゃんと行って、必要最低限の運用をしている人も少なくないのではないでしょうか?
 

もちろん、今や主流のバージョン管理ツールはGITと言い切れるほどですが、いったいどの位までの細部機能を知らないといけないのでしょうか?
 

Qiitaなどで、gitの小ネタ集を見るたびに、「こうした事を暗記できていないといけないのでは・・・」と少し焦りを感じながらも、「必要な時にググればいいや・・・」という怠惰な自分もいます。

ググればいいんです

実際に、PHPプログラマーがPHPの関数や仕様を全て把握している人は少数派でしょう。
 

だってみんなリファレンスページをググりながら作業ススメますよね。
 

もちろん、知っておかないといけないことは沢山ありますが、最近のITを技術なんて、必要最低限だけ知っていれば大体の事ができてしまいます。
 

おっと、言い過ぎましたが、調べて分かるという事がわかっていればそれでいいんです。
 

1ファイルだけでいいんです

そして、WEBエンジニアは、こんな事もよくある経験談として誰もが体験したことあると思いますが、
 

更新していたプログラムやデータが何か変になった・・・

こんな時、誰もが「一旦、正常に動いていた状態に戻して確認したい」と考えるでしょうね。
 

そんな時、GITを使っていれば、直前のcommitした状態までreset機能で戻せばいいんですが、実は戻したいファイルは1つだけという事の方が多くないですか?
 

今修正しているこのファイルだけを、直前のcommitに戻せれば、プロジェクト全てを巻き戻すというレベルではないのですね。
 

他の人と複数人で作業していたとしたら、もっと尚更な感じで、1ファイル戻しはよくある事象なんです。

checkoutなんです

そんな時は”git checkout”で良かったんですね。
 

ちなみに、僕のよくある事象としては、データファイルを書き込むプログラムを作っている時に、データファイルの中身が真っ白になってしまったとか、想定外の内容に書き換わってしまった・・・という様な場合、
 

そのデータファイルを一旦、直前commitまで戻すには、以下の手順とコマンドです。
 

1. まず、戻したいcommitのhash値を調べる

 

直前なら-n 1でもいいですが、この辺は適宜かえてください。
 

2. checkoutする

 

git checkout %hash% %path%
 

“output.dat”が、ちゃんと巻き戻っていることを確認しましょう。
 

ATOMエディタを使うとファイル名の色で巻き戻ったかどうか判断できるので便利ですよ。

GITの便利さは、巻き戻って初めて知るんです

どうですか、他人が「やっちまった」と言っている場面は笑い話ですが、いざ自分が「やっちまった」場面になると、血の気は引くし、周囲の人からの笑い声が頭の中に反響してきます。
 

迅速に、且つ、的確に巻き戻せる事は、エンジニアとしては、必須なんですね。
 

そもそも、データをバックアップする設計にしていない方も悪いんですけどね・・・
 

でも、GITが使えれば良いんです。
&nbsp

え?commitしてなかったって?そんな時は、Dropboxさんにおねだりしてみましょう。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です