プログラムのコーディングをしていると、以前書いたスニペットを、後で使えるかもしれないと思ってコメントアウトして残しておく人は、僕です。
これ、他のプログラマーの人に見られると、なんだか恥ずかしくないですか?
僕も人のこういうのを見た時に、「邪魔だな〜」って感じます。
が、自分もやります。
それは、消すのが恐いからなんですね。
消した後で戻す時に、コメントアウトしてあるだけだと便利なんですね〜。
でもそんなタイミングってほとんどありませんよ。
そういう事良くわかってるんですが、消すのが恐いんですよ。
そうだ!GITを使おう!!
今や開発プログラムでは当たり前になったGITを使えば、消すのが怖く無くなるのではないか・・・と思ったんですが、
いざ、特定のファイルの以前のバージョンを確認するのって、逆に面倒くさくないのか?
という疑問もあり、実際のコマンドも調べておかないと本番で使えないし、消す勇気が持てないので、調べておきました。
ちなみに、GITは何かっていう説明は今回はしません。
以前の記事を参考にしてください。
Git操作まとめ #1「初期設定」
GITコマンドで特定ファイルの履歴を調べる
通常の履歴を調べるのは「log」だけでいいんですが、特定ファイルの場合は、「-p」オプションをつけて、ファイルのpathを入れるだけです。
通常の履歴
git log
$ git log
--
commit 2d51176856f6d479f2de046a0af2660ff3f4dd4c
Author: yugeta.koji <geta1972 @gmail.com>
Date: Sun Jul 23 09:26:15 2017 +0900
003
commit 401ccdd47da9c570dc605c6bb4932c7510f6cda9
Author: yugeta.koji <geta1972 @gmail.com>
Date: Sun Jul 23 09:25:54 2017 +0900
002
commit 652112687910e389140a849d626cf18f929db72a
Author: yugeta.koji <geta1972 @gmail.com>
Date: Sun Jul 23 09:25:35 2017 +0900
001
特定ファイルの履歴
git log -p %path%
$ git log -p test.dat
commit 2d51176856f6d479f2de046a0af2660ff3f4dd4c
Author: yugeta.koji <geta1972@gmail.com>
Date: Sun Jul 23 09:26:15 2017 +0900
003
diff --git a/test.dat b/test.dat
index 7c5b7c7..1752366 100644
--- a/test.dat
+++ b/test.dat
@@ -1,2 +1,3 @@
test-001
-test-002
+remove-002
+add-003
commit 401ccdd47da9c570dc605c6bb4932c7510f6cda9
Author: yugeta.koji <geta1972@gmail.com>
Date: Sun Jul 23 09:25:54 2017 +0900
002
diff --git a/test.dat b/test.dat
index 39a9842..7c5b7c7 100644
--- a/test.dat
+++ b/test.dat
@@ -1 +1,2 @@
-test-001
\ No newline at end of file
+test-001
+test-002
commit 652112687910e389140a849d626cf18f929db72a
Author: yugeta.koji <geta1972@gmail.com>
Date: Sun Jul 23 09:25:35 2017 +0900
001
diff --git a/test.dat b/test.dat
new file mode 100644
index 0000000..39a9842
--- /dev/null
+++ b/test.dat
@@ -0,0 +1 @@
+test-001
\ No newline at end of file
フォルダにも使える
git log -p %dir%
$ git log -p ./
commit 2d51176856f6d479f2de046a0af2660ff3f4dd4c
Author: yugeta.koji <geta1972@gmail.com>
Date: Sun Jul 23 09:26:15 2017 +0900
003
diff --git a/test.dat b/test.dat
index 7c5b7c7..1752366 100644
--- a/test.dat
+++ b/test.dat
@@ -1,2 +1,3 @@
test-001
-test-002
+remove-002
+add-003
commit 401ccdd47da9c570dc605c6bb4932c7510f6cda9
Author: yugeta.koji <geta1972@gmail.com>
Date: Sun Jul 23 09:25:54 2017 +0900
002
diff --git a/test.dat b/test.dat
index 39a9842..7c5b7c7 100644
--- a/test.dat
+++ b/test.dat
@@ -1 +1,2 @@
-test-001
\ No newline at end of file
+test-001
+test-002
commit 652112687910e389140a849d626cf18f929db72a
Author: yugeta.koji <geta1972@gmail.com>
Date: Sun Jul 23 09:25:35 2017 +0900
001
diff --git a/test.dat b/test.dat
new file mode 100644
index 0000000..39a9842
--- /dev/null
+++ b/test.dat
@@ -0,0 +1 @@
+test-001
\ No newline at end of file
任意の時点でのファイルの中身を表示する
git cat-file -p %key%:%file%
# log-1
$ git cat-file -p 65211268791:test.dat
test-001
# log-2
$ git cat-file -p 401ccdd47da9c57:test.dat
test-001
test-002
# log-3
$ git cat-file -p 2d51176856:test.dat
test-001
remove-002
add-003
GIT管理は開発プロセスの乱雑さも見えてしまう
GITを使って開発を進めていくと、ちゃんと管理できていると、元の記述にもどしたり、以前書いたコードを参照するのが非常にスムーズに行なえます。
だけど、ファイル名やフォルダ名などを、その時の気分でコロコロ変えたりしていると、今回のような履歴の確認などがかなり煩雑になります。
そして、今回はコメントアウトして古いソースコードを残しておくケースをあげましたが、bakファイルを作っておくというケースも少なくないようです。
フォルダの中に、沢山のバックアップファイル(拡張子が.bakや.orgなど)で溢れかえっている人いませんか?
もちろん、僕ですwww
こういう状態は言語道断ですね。せっかくGITを使っているんですから、スマートに行きましょう。
そして、ちゃんと設計してファイル名、フォルダ名などの変更も少なく出来うようになれば、より効率的な開発ができるのではないでしょうか?
コメントアウトが癖になっている人、自分のタスクも後回しにしている人が多いのではないですか?
0 件のコメント:
コメントを投稿