2016-05-01 10 views
0

同じメインコードから分岐した2つのプロジェクトがあります。残念ながらバージョン管理システムは初期化されていません。彼らはそれほど差がないと考えることによって、自動的にそれらをマージする方法はありますか?または少なくともファイルの違いを参照してください?バージョン管理ソフトウェアで管理されていなかった同じプロジェクトの2つのブランチをマージする

答えて

1
git init merged_projects 
cd !$ 

git --work-tree=/path/to/main/project git add -A .  # from empty index to base project 
git commit -m'Initial commit' 

git checkout -b projectA        # from base project to projectA 
git --work-tree=/path/to/projectA git add -A . 
git commit -m'Initial project A commit' 

git checkout -b projectB        # projectB now, 
git reset master          # reset index+parent back to base 
git --work-tree=/path/to/projectB git add -A . 
git commit -m'Initial project B commit' 

有用な履歴を構築して作業することについてです。あなたがしているのは、その路地の真上です。必要に応じて、上の最初の2つのコマンドではなく、既存の作業ツリーのいずれかにgit init .を実行することができます。 git reset --hardは、ワークツリーをコミット済み状態にリセットします。

1

あなたがBashにアクセスできない場合は、diff -r 1st_dir 2nd_dirを試してみてください。ディレクトリの違いが分かります。あるいは、あなたの質問には、各ディレクトリでgit repoを初期化してからそれらをマージすることを妨げるようなものはありません。お役に立てれば。

関連する問題