Skip to content
This repository has been archived by the owner on Jun 20, 2023. It is now read-only.

add_fizzbuzz_testの模範解答

Yuya Tanaka edited this page Apr 11, 2014 · 2 revisions

テストがどのcommitからコケ始めたかを発見

prove -r t
git bisect start
git bisect bad # HEAD
git bisect good master # masterはさっきテスト通したところ
git bisect run prove t/lib/MyFibo.t
# よしなに対応しcommit

歴史の整理

git rebase -i --autosquash master # git commit --fixup/--squash用

rebase例:

pick aa0aab3 Add empty getWordAtIndex method
fixup 59356be fixup! Add empty getWordAtIndex method
r 1e139b6 Implement getWordAtIndexAAAAAAAAAAAAAAAAAAAAAAAAA
pick 689a856 Add MyFizzBuzz test for 1
s d6319ad Add MyFizzBuzz test for 2
s efe1084 Add MyFizzBuzz test for 3
s 98a7268 Add MyFizzBuzz test for 4
s 226027e Add MyFizzBuzz test for 5
# pick 0932e8b [DEBUG] add warn $index
pick 16f68cb Add test for MyFizzBuzz for $index > 5
  • コミットメッセージを直す
    • Implement getWordAtIndexAAAAAAAAAAAAAAAAAAAAAAAAA
    • Implement getWordAtIndex
  • squashメッセージを書く
    • Add MyFizzBuzz test
  • ※ちなみに最後のテストはまだpassしてないので、 テストがしっかり通ってコードに問題がなくなったmerge直前にやるべき
  • ※commitを分割したいときは、分割したいcommitにe/editと書くとrebase中に止まるので、 git reset HEAD~; git add <file> git commitの繰り返しとかで対応する