3

もし私が

git rebase -i HEAD~10

結果のファイルで何も変更しないでください。何らかのリベースが実行されます。つまり、私はする必要があります

git push origin branch --force

定期プッシュから

git push origin branch

明らかに歴史を失うでしょう!

これは、一部の履歴が変更されたことを暗示しているようですが、その理由はわかりません。コミットを変更することを選択しなかった場合 (つまり、すべてのコミットが選択された場合)、なぜ履歴が変更され、具体的に何が変更されたのですか?

4

1 に答える 1

3

実行するgit log --format=fullerと、コミットが作成者だけでなくコミッターも追跡することがわかります。

commit 0d987988ffed315ef63f79b33eae40a8715390c9
Author:     Statichippo <example@example.com>
AuthorDate: Fri Jun 22 14:09:48 2012 -0400
Commit:     Statichippo  <example@example.com>
CommitDate: Fri Jun 22 14:09:48 2012 -0400

    a commit message

リベースすると、ユーザーが新しいコミッターとしてリストされます。そのコード ブロックをリベースした場合の例を次に示します。

commit 3e23bea3c778c66h59c5f665061e9354507b379b
Author:     Statichippo <example@example.com>
AuthorDate: Fri Jun 22 14:09:48 2012 -0400
Commit:     Jacob Angel <jangel@example.com>
CommitDate: Tue Jul 3 12:39:43 2012 -0400

    a commit message

したがって、おそらく何が起こっているかというと、別の人が作成したコミットをリベースしていて、コミットと CommitDate が変更されているということです。明らかに、git は新しいハッシュを確認し (コミットの一部が変更されたため)、変更に注意します。

于 2012-07-03T16:46:02.990 に答える