angularフロントエンドとREST APIはC#で実行されます。フロントエンドにはWebStormとバックエンドのVisual Studioを使用します。ここで、新しいバージョンコントロールを導入する必要があり、Team Services(Git)を使用することが決定されました。
フロントエンドとバックエンド間で共有されるコードやアセットはありませんが、フロントエンドはバックエンドを必要とし、バックエンドはこの特定のフロントエンドでのみ使用されるため(そして今後も使用されるため)、論理的に結合されます。
私はGitにかなり慣れていませんが、サブモジュール、サブツリーなどが何か(少し)知っています。
私の最初の考えは次のとおりでした。フロントエンドがアクセスできる場所にバックエンドが存在する限り、フロントエンドとバックエンドを別々に公開できるため、2つのリポジトリを使用するのがよいでしょう。そして:
一方、フロントエンドとバックエンドが常に互換性があることを自分で確認する必要があります。難しいことではないと思います。しかし、これらの2つのリポジトリはgitで完全に分離され、2つの間には何の関係もありません。
私の知る限り、特定のサブディレクトリを使用するようにgitまたはwebstorm/visual studioに指示することはできません。
だから、私の質問になります。この場合、何を勧めますか?
前もって感謝します
このようなプロジェクトについて私が考える最大の問題は、「フロントエンドとAPIを同期させるにはどうすればよいですか?」存在しないものやAPIで廃止されたものをフロントエンドに要求させたくありません。
この問題を解決する最も簡単な方法は、1つのリポジトリを用意することです。このリポジトリでは、APIとフロントエンドの変更はすべて同じコミット/ PRにあります。
しかし、これは多くの場所でバラバラになります。 APIやフロントエンドを後で交換したい場合は、さらに難しくなる可能性があります。また、ビルドステップが長い場合や、テストスイートが大きい場合は、展開を行うときに多くの時間を浪費する可能性があります。
別の投稿 には多くの長所と短所がありますが、これは結局のところ、チームの規模と、展開の計画にどのように結びついていると思います。それが4人までの小さなチームであれば、おそらく1つのリポジトリで十分です。大規模なチームがあり、専用のバージョンなどがある場合、1つのリポジトリの管理が手に負えなくなる可能性があります。
繰り返しになりますが、質問と回答には多くの考慮事項が含まれているため、他の投稿もご覧になることをお勧めします。