Elaborate ## Debugging with Git

pull/294/head
SI 4 years ago committed by GitHub
parent 94b47ea011
commit 718e24db95
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1898,36 +1898,42 @@ $ git update-index --no-assume-unchanged file-to-stop-ignoring
## Git によるデバッグ
コマンド [git-bisect](https://git-scm.com/docs/git-bisect) は、どのコミットがバグをもたらしたか Git 履歴を二分探索します。
コマンド [git-bisect](https://git-scm.com/docs/git-bisect) は、Git 履歴を二分探索してバグをもたらしたコミットを探します。
`master` ブランチにいるとして、失敗をやらかしたコミットを探してみましょう。次のようにして二分探索を始めます:
いま `master` ブランチにいるとして、失敗をやらかしたコミットを探してみましょう。
次のコマンドで二分探索を始めます。
```sh
$ git bisect start
```
問題のあるコミットとないコミットを指定する必要があります。*現在の*バージョンに問題があり、`v1.1.1` は問題ないとします。
問題のあるコミットとないコミットを指定する必要があります。
*現在の*バージョンに問題があり、`v1.1.1` は問題ないとします。
```sh
$ git bisect bad
$ git bisect good v1.1.1
```
すると `git-bisect` は選んだバージョンの中間のコミットを選んで調べ、問題があるかどうか尋ねてきます。
次のように表示されるはずです:
すると、`git-bisect` は選んだバージョンの中間のコミットを選んで調べ、問題があるかどうか尋ねてきます。
次のように表示されるはずです。
```sh
$ Bisecting: 5 revision left to test after this (roughly 5 step)
$ [c44abbbee29cb93d8499283101fe7c8d9d97f0fe] Commit message
$ (c44abbb)$
```
このコミットに問題があるかどうか調べます。問題がない (good) 場合は次を実行します:
このコミットに問題があるか調べましょう。
問題がない (good) 場合は次を実行します。
```sh
$ (c44abbb)$ git bisect good
```
すると、`git-bisect` は別のコミットを選択します。このように `good``bad` を選んでいく作業は、調べるコミットがなくなるまで続きます。
終了したら、コマンドラインには問題をきたしている**最初の**コミットの詳細が表示されます。
すると、`git-bisect` はまた別のコミットを選択します。
このように `good``bad` を選んでいく作業は、調べるコミットがなくなるまで続きます。
終了したら、コマンドラインには問題をきたした**最初の**コミットの詳細が表示されます。
## 設定

Loading…
Cancel
Save