2016-10-28 5 views
1

別のgitプロジェクトからコピーされたGitプロジェクトがあります。ファイルコピーとコミットだけだったので、履歴はコピーされませんでした。私は以前のファイルからコミットをインポートしたが、新しいバージョンのファイルには接続していない。したがって、私が両方のreposに存在するファイルの履歴を探すと、履歴はプロジェクトをコピーした時点にしかなりません。gitプロジェクトをコピーするときに履歴をどのように再接続するのですか?

私は古いプロジェクトの最後のリビジョンをチェックして、新しいプロジェクトの最初のリビジョンをマージしてみました。その後私はマスターに合併した。これにより、プロジェクトのgit履歴は正しく表示されますが、各個人のファイル履歴は変更されません。

"これらすべてのファイルを作成する"というリビジョンを削除して、古いプロジェクトの履歴の前に追加するのとほぼ同じです。

これはGitで可能ですか?

答えて

1

あなたがかなり簡単チェリーピックと歴史を再構築することができますように私には思える:

  1. 考えるリモコンoldnew
  2. それぞれ古いものと新しいリポジトリを指しますold/masterから新しいブランチを作成します。これは古いレポの最後のリビジョンにあります
  3. git cherry-pick first..new/masterここで、は新しいレポの最初のコミットのSHA1ですfirstなし)

結果は基本的に新しいレポの古いレポでコミット+コミットされますがgit log new/masterでそれを見つけて、最後にジャンプするGを押すことができます。いつものように、チェリーピックで、コミットの日付と作者は保存されます。

関連する問題