ユースケース:同じリポジトリA、B、B2の3つのgitクローン。レポスAとBは正常、B2は裸( - ベア)です。すべてが自分の管理下にあります。つまり、ユーザーは1人だけです。Git rebaseを強制する
私は仕事をしています(いくつかのgitコミット)、そしてgit push B2。
- オンサイトA、git pull B2。
- オンサイトでは、git rebase -i xx..HEADを実行すると、コミットやクリーンな履歴が表示されます(素晴らしいコマンド)。
- Q:結果をサイトBに伝えるにはどうすればよいですか?私にできること
:
- Gitのプッシュ--forceのB2
しかし、これはかなり右ではありません。サイトBの作業ディレクトリは、git pull B2の後に奇妙な履歴があります。
私は--forceを使用しないために何らかの方法が必要です。 --hard XX をリセットB2で
(裸のレポ)
- のgit:私はその後、 B2にxx..HEADを捨てるおそらく、Aから正常にプッシュしたいのですが
これで十分かわかりません。私はサイトAからの再クローニング(B2の削除、git init --bare、Aからのプッシュ)によってそれを行うことができますが、それは過度のようです。 How to push/pull Git rebase投稿は関連しているようですが、私は「これをしないでください」以外の答えを期待しています。
ボトムラインでは、B2のコミットを真に完全にスローすると、Aからのリベースされた履歴は新しいコミットとして受け入れられますか?