まず、この質問をするためのお詫びです。すでに多くの話題があります。しかし、私はそれらに多くの運がない。私のgitに精通していない私はあまり役に立たない。gitは、履歴を保存しながら別のリポジトリにディレクトリを移動します。
私はgit repoから別のgit repoにフォルダを移動しています(既に存在しています)。例えば最後に
repo-1
---- dir1
---- dir2
---- dir3
---- dir-to-move
---- dir5
repo-2
---- dir1
---- dir2
---- dir3
私はレポがDIRツー移動は両方のリポジトリ内に存在する時間について
repo-1
---- dir1
---- dir2
---- dir3
---- dir-to-move
---- dir5
repo-2
---- dir1
---- dir2
---- dir3
---- dir-to-move
すなわち見えるようにしたいです。しかし、最終的に最新の変更をrepo-2に移行し、からrepo-1に移動します。
私の最初の研究は、フィルターブランチを使用する必要があると私に信じさせました。例えば
私は以来サブツリーはそのアプローチを取っていることを学びました。しかし、それは私が期待したことをしていない。私はがダウンのみDIRツー移動から枝を分割し、それが歴史だフィルタリングするレポ-1ワークスペース
git subtree split -P dir-to-move -b split
で
ような何かを行うことができるだろうと思っていました。 そしてワークスペースレポ2に
git remote add repo-1 repo-1-url.git
git subtree add --prefix dir-to-move split
これは両端のコードを移動しません。それはまた、種類の、歴史を含む
例えば、
cd repo-2
git log
ショーがレポ-1
しかし
cd repo-2
git log dir-to-move
からコミットのみ表示 'DIR-への移行コミットからの追加....'
すなわち履歴は含まれていますが、特定のファイル/ディレクトリがチェックされていると表示されません。
これを正しく行うにはどうすればよいですか?
をマスターGitは、ディレクトリの移動を追跡するために失敗したように見えます。ディレクトリの代わりにファイルを指定した場合は、その移動に従いますか? – max630