Git 1.7.11 で追加された新しいgit-subtreeコマンドを学習しようとしています。サブツリーを追加した後、リベースできなくなったようです。README ファイルを含むプライマリ リポジトリと、README ファイルも含むライブラリ リポジトリがあります。私はそれをlibディレクトリに追加しsubtree add
ます:
$ git subtree add -P lib/mylib myliborigin master
これは問題なく動作しますが、履歴は次のようになります。
* 22c1fe6 (HEAD, master) Merge commit 'b6e698d9f4985825efa06dfdd7bba8d2930cd40e' as 'lib/mylib' -
|\
| * b6e698d Squashed 'lib/mylib/' content from commit d7dbd3d
* b99d55b Add readme
* 020e372 Initial
今、レポをリベースしたいのですorigin/master
が、スカッシュコミットが適用されない親コミットに対して直接適用されるため失敗します。サブツリー。
この理由は、squash コミットを見れば明らかです。プレフィックスに関する情報はありません。これは、元の mylib コミットがまとめられたものです。次のマージコミットのみがそれについて何かを知っていますが、リベースはここでは考慮しません。
回避策はありますか (サブツリー コミットをリベースしない以外に)?