が、私は約7年間、多額のGitを使用してきたblame`` gitのための `--full-history`の等価。数日前、私は私を驚かせた行動を見つけました。私はgit log
、git blame
とgit bisect
がこの奇妙な動作を示すことが分かった。 A friend私の問題を解決したgit log
への--full-history
の旗について教えてください。私自身の教育のために、git blame
とgit bisect
の同等の修正があるかどうかを知りたいと思います。Gitリポジトリ: `Gitのbisect`と
このレポを自分のために問題を参照してくださいお気軽に:非常に最初のコミット、ファイルcoffee
が追加されましたで
$ git log --graph
* commit b7a8d7aa001d06eb7491ab5fb447a8dd3aa421a8
| Author: Ram Rachum <[email protected]>
| Date: Tue Apr 19 17:45:01 2016 +0300
|
| adding more to some-file
|
* commit 0aa833916e908ea93902a6c4c227f9a884a1bcef
|\ Merge: 2413945 3068c7d
| | Author: Ram Rachum <[email protected]>
| | Date: Tue Apr 19 17:44:31 2016 +0300
| |
| | Merge branch 'master' into development
| |
| * commit 3068c7d2548f1798b6840f73b13a649937339f28
| | Author: Ram Rachum <[email protected]>
| | Date: Tue Apr 19 16:02:27 2016 +0300
| |
| | Adding sugar to coffee
| |
* | commit 24139451ab954b1f0a9ef616775a3dba0ac81669
|/ Author: Ram Rachum <[email protected]>
| Date: Tue Apr 19 16:01:28 2016 +0300
|
| Creating some-file
|
* commit cf02fbbc40104cd02eea4c7c6f134ef1fd7b5661
Author: Ram Rachum <[email protected]>
Date: Tue Apr 19 16:00:47 2016 +0300
Create coffee
:https://dl.dropboxusercontent.com/u/1927707/problematic_repo.7z
は、ここでそのログです。コミット3068c7d
では、coffee
ファイルに "sugar"という行を追加しました。しかし、その後、このブランチをdevelopment
ブランチにマージし、そのマージで間違いが起き、 "sugar"ラインが削除され、coffee
は空のままになりました。次に、別のコミットb7a8d7a
が無関係な変更を加えて追加されました。
今、私は私のコーヒーを見て、そして砂糖はそれでありません探しています。私はコーヒーに砂糖を加えることをはっきりと覚えています。私はgit log coffee
を実行し、この出力を得ます:
$ git log coffee
commit cf02fbbc40104cd02eea4c7c6f134ef1fd7b5661
Author: Ram Rachum <[email protected]>
Date: Tue Apr 19 16:00:47 2016 +0300
Create coffee
これはそれです。 git log
は砂糖を加えたオリジナルのコミットも、それを削除したマージも表示されていません。非常に関連性の高いコミットが2つあります。
それはコミットが手動で見つけるのは非常に困難です巨大企業のレポに起こったので、私は、この問題により、約1時間に不満でした。
git bisect
とgit blame
を使用して2つのコミットをピン止めしましたが、これらのツールは両方とも2つのコミットを無視しました。 git bisect bad
とgit bisect good
アクションをすべて完了した後にgit bisect
が私に間違ったコミットを指摘しました。
$ git log --full-history --graph coffee
* commit 0aa833916e908ea93902a6c4c227f9a884a1bcef
|\ Merge: cf02fbb 3068c7d
| | Author: Ram Rachum <[email protected]>
| | Date: Tue Apr 19 17:44:31 2016 +0300
| |
| | Merge branch 'master' into development
| |
| * commit 3068c7d2548f1798b6840f73b13a649937339f28
|/ Author: Ram Rachum <[email protected]>
| Date: Tue Apr 19 16:02:27 2016 +0300
|
| Adding sugar to coffee
|
* commit cf02fbbc40104cd02eea4c7c6f134ef1fd7b5661
Author: Ram Rachum <[email protected]>
Date: Tue Apr 19 16:00:47 2016 +0300
Create coffee
これは、2つの関連するコミット、1加える砂糖や削除、マージを示しているので、私は幸せ:私が最初に言ったよう
その後、友人が--full-history
旗に向けて私を指摘しましたそれ。だから私の問題は解決される。 しかし、私は実際にgit bisect
とgit blame
を同様に動作させる方法を知りたいと思っています。誰も知りませんか?
'Gitのblame'が良く' --full-歴史を許可するかもしれません'ここに直接(私はあなたのレポでそれを試してみますが、私は7zipファイルを解凍することはできません)。 Bisectはそれ自身を処理するので、マージに触れることを拒否するかもしれません。 'git rev-list'は多くのマージをスキップしているので、一般的には表示されません.TREESAMEとマージ処理に関するドキュメンテーションの議論を参照してください。 – torek
@torek私は今、それを試しました、 '非難'は旗を受け入れるように見えますが、それは何も変わらないように見えます。 'git blame -full-history'と' git blame -full-history-reverse'の両方を試しても結果は見られませんでした。 7zアーカイブを開くことができないということについては、ここにあります。https://dl.dropboxusercontent.com/u/1927707/foo.zip –
@torek 'git blame --reverse HEAD ^^^ .. HEAD --full-history coffee'、まだ何も得られない。 –