私は、多かれ少なかれ自分のコードをフレームワークコードと混合することを強制するフレームワークを使用しています。つまり、どちらも独自のサブディレクトリにきちんと分離することはできません。これまで、.gitignoreを使用してすべてのフレームワークコードを無視することでそれらを分離してきましたが、フレームワークをアップグレードする必要があるときに、アップグレードブランチを作成し、アップグレードを実行しました。これは、以前は追跡されていない/無視されたファイルが新しいブランチで追跡されたため、マスターブランチに切り替えたときに存在しなくなりました。
大規模なfacepalmの瞬間から回復した後、Gitサブモジュールの使用に切り替える必要があると思いました。ただし、これがもたらす問題は、サブモジュールに属するコードをサブディレクトリに保持する必要があるように見えることです。Pro Gitから:
サブモジュールを使用すると、Gitリポジトリを別のGitリポジトリのサブディレクトリとして保持できます。
これは本当にgitサブモジュールの制限ですか、それともそれを回避する方法はありますか?