2017-11-16 6 views
1

私の問題は次のとおりです:'同じ'コードベースの複数のバージョンから初期のgitリポジトリを作成するには?

私は共通のルートのない同じプロジェクトのいくつかのディレクトリ、種類のいくつかのディレクトリがあります。 (それが最終的に欠けているという意味ではなく、失われているという意味で)。

単一のマスターブランチを作成するには、それらを一緒にマージする必要があります。いくつかのバージョンは他のバージョンから派生していることは知っていますが、残念ながら、多くの開発者が作業コピーから必要としなかったソースファイルを削除したため、彼らは親よりも高度であるとは限りません。

正しくマージするにはどうすればよいですか?

もちろん、私は空のリポジトリを作成し、すべてのディレクトリをブランチとして追加し、それらを1つずつマージしようとしました。しかし、より良い選択肢はありますか?

+0

まず、git repo(バージョンコントロール)でディレクトリを管理し、gitコマンドで別のディレクトリをマージする方がよいでしょう。 mv/copyコマンドは、通常、コピー先のファイルを上書きする(または書き込まない)だけですが、手動で競合を解決することはできません。 –

答えて

1

考慮:

  • マージは、開発者ので(マージも自動的に一つではない
  • (これは二つのブランチ間の適切な共通の祖先の欠如のために)とにかく3-way mergeではないであろうあなたが必要としないソースを削除した場合、単純にマージしたくないので、ターゲットブランチで同じソースを削除することができます)

最も安全な方法は、パーティーマージツール(WinMerge、kdiff3、BeyondCompar e、...)、慎重にこれらのフォルダを1つのターゲットgit repoフォルダにマージします。特に、ソースにないファイルやターゲットに存在するファイルに注意してください。これらの削除を無視してターゲットファイルを保持することをお勧めします。

関連する問題