2016-08-25 4 views
1

私はバックエンドをしている間にAndroidプロジェクトをしばらく作業していました&ネイティブクライアント開発。プロジェクトはその後、いくつかの進歩を遂げました。私はプロジェクトのコミッタだけです。基本的には、追加または修正したすべてのものを基本的に早送りしました。今、私の会社は新しいAndroid開発者を募集し、私をバックエンドチームに引き寄せます。私は自分のアンドロイドリポジトリの履歴を書き換え、どの機能が追加/固定/リリースされているのかを表示したい。だから、早送りのリニアコミット履歴を非早送り型の形で書き直したい。これは可能でしょうか? git reflogの出力を調べてgitは早送りから早送りまでの履歴を書き換えます

+0

reflogがある場合は、そこからフローの一部を再構築することができます。つまり、古い-ffマージを行ったときに注目し、(スクリプト化されたリベースを介して)それらを再生し、代わりに適切なマージを追加します。 –

答えて

1

、またはgrep経由:

git reflog --date=iso | grep -i Fast-forward 

一つは「マージ」を見つけることができます早送り起因コミット:

b69e480 [email protected]{422}: merge b69e480: Fast-forward 
38e2ace [email protected]{438}: merge 38e2ace: Fast-forward 

が、復元することが可能なはずですそれらのブランチを開き、最初にHEADを正しいスタートポイントに戻して、フラグで再マージします。

a related blogがあります。これは、同じアプローチを使用した悪いマージを回復する方法を示しており、良い例かもしれません。

関連する問題