4

リポジトリ内のいくつかのコミットの参照を保持するスクリプトを書いていますが、一部のコミットが押しつぶされると、参照が無効になります。pre-rebaseフックはあるがフックがないことは知っているpost-rebaseので、どのコミットが一緒に押しつぶされるかを判断する方法はありますか?

たとえば、リベースの前に、次の履歴がありました。

cf79121 Refactor the trim_file_name method. Closes #1965.
82ed26a Updated dependencies and project versions.
8047297 Updated Node.js implementation package information.
b2b727c Added "finished" callback, which is called for each "completed" or "failed" event.

リベース後、次のようになりました。

cf79121 Refactor the trim_file_name method. Closes #1965.
9b7ac26 Updated dependencies, project versions, and node.js package information.
b2b727c Added "finished" callback, which is called for each "completed" or "failed" event.

82ed26a+ 8047297=であることをどのように確認できます9b7ac26か?

4

1 に答える 1

3

その情報がまだ git squash コミットするリポジトリの reflog に残っていない限り、... その情報を取り戻すことはできないと思います「 git merge squash を元に戻す方法は?
」 を 参照してください。

したがって、スクリプトはスカッシュが行われたローカル git リポジトリでは機能しますが、同じリポジトリのクローンでは機能しません。

ユーザーがスカッシュを実行したときにコメントに体系的に文書化されていない限り、その情報 (コミットはスカッシュされています) は利用できません。

于 2013-01-25T07:43:17.347 に答える