少し背景。私が働いている研究室にはたくさんの自作ソフトウェアがあります。プロジェクトの多くは同じソースからのものですが、バージョン履歴はありません。ある時点で、それらのいくつかは異なる実験目的のために分岐されました。現在、そのすべてのソフトウェアをgitリポジトリに配置しています。うまくいけば、これにより、将来的に異なるバージョンをマージできるようになります。
したがって、たとえばproject1 versionA用の新しいgitリポジトリを作成し、そのマスターブランチを呼び出す必要があります。
次に、project1versionBを同じgitリポジトリのブランチにします。
しかし、私はこれに対するきちんとした解決策を見つけていません。これまでの私の最善のアイデアは、次のことを行うことでした。
git init(project1 versionA内)ディレクトリを作成し、コミットしてリモートリポジトリにプッシュします。次に、versionBがある同じコンピューター上の新しい空のフォルダーにそれをプルします。次に、versionBという新しいブランチをチェックアウトし、そのバージョンのすべてをバージョンAの上にコピーします。次に、-aをコミットしてプッシュします。
それは私にgitの2つのバージョン/ブランチを与えるはずです。1つはマスター(versionA)と呼ばれ、もう1つはversionBと呼ばれます。これに伴う問題は、適切な解決策ではないことに加えて、versionAには存在するが、versionBには存在しないファイルが両方に存在するようになることです。これは間違いなく混乱を引き起こし、多くのソフトウェアが特定のフォルダを調べてそこにすべてをロードするため、これは問題になります。
別のアイデアは、コピーする前にバージョンAのものをバージョンBブランチからパージすることです。これで問題は解決しますか?
これは、かなり単純な(そして頻繁に遭遇する)はずの何かを行うための回り道のように思えますか?