次のような構造のリポジトリがあります。
/MyProject
/Module1
/Module2
/Experimental
/Module1
/Module2
その中で、Experimental には実験的なコードが含まれています。これが Git のベスト プラクティスではないことは承知していますが、過去には人々がそれを行っていました。ここで、Experimental を MyProject のブランチにする必要があります。使った
git subtree split -P Experimental -b Experimental_Branch
そして、保存されたすべての履歴コミットを使用して、ローカルに新しいブランチを正常に作成します。しかし、オリジンにプッシュすると、多くのメッセージが表示されました。
! [remote rejected] Experimental_Branch -> Experimental_Branch (aae0fd6b9bf47b723cd96c95653faa3c1b7599e8 by someone <someone@email.com> was not committed by me <me@email.com>)
これは、ユーザーが他のコミットをプッシュできないように Git サーバーが構成されているためです。しかし、すでに非常に多くの人がこれにコミットしているため、誰もこれをサーバーにプッシュできません。誰がどのリビジョンをコミットしたかは気にしませんが、変更とコミットのログのみを気にします - どうすればこれをプッシュできますか? すべてのコミットを私の ID にリセットできますか?