2018-05-24

①gitにおいて、コミットしたファイルのコミットメッセージを修正したり、コミットの削除をする時の注意点

On branch kadai4_review
Unmerged paths:
  (use "git reset HEAD <file>..." to unstage)
  (use "git add/rm <file>..." as appropriate to mark resolution)

	deleted by them: t/Indicate_TEMP.t

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	.Indicate_TEMP.pm.swo
	.gitignore~
	kadai4-1.pl
	kadai4.pl
	t/test.pm

no changes added to commit (use "git add" and/or "git commit -a")

たとえ削除されていたとしても、上記のようにmergeされていないファイルがある状態で、

git commit --amend
git revert

上記のコマンドを実行すると

error: Reverting is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: revert failed

というエラーが返ってくる。

git reset --hard HEAD^

上記のコマンドを実行して、Indicate_TEMP.tのコミットの取り消しを行うとエラーが消えた。


参考
git push の取り消し方法。 | WWWクリエイターズ
[Git]コミットの取り消し、打ち消し、上書き - Qiita
Git初心者に捧ぐ!Gitの「これなんで?」を解説します。 | KRAY Inc



②下記コマンドの実行ができない時の対処。

$ cpanm --sudo install Catalyst::Devel
$ catalyst.pl MyApp
$ sudo yum install cpan
$ sudo cpan App::cpanminus

上記コマンドで解決。
前の課題の時から何度もcpanを使っていたのに、インストール済みと表示されなかった原因は何??



■その他所感
・テストコードについて
└入力パターンに対して期待する出力パターンが得られるか。
 エラーを期待する場合はエラーが表示されて終了するか。
 これはある1パターンではなく、考えうる複数のパターンについてそうなるか。
└メインコード内のすべて分岐を通るようなテストコードを書くのが理想。

ソースコードの見た目について。
└他の人が読みやすいコードを書く。
参考
ソースコードを美しくデザインする - Qiita
プログラミング作法 - Wikipedia