メインプロジェクトをTFSで非常に簡単にセットアップしました。私は最近、自分のカスタムコンポーネントを作成したソフトウェアを使用して、他の組織にそれらを販売できるように、いくつかのプロジェクトコンポーネントを一般化し始めました。
これらのコンポーネントを独自のブランチに引き出して、マイナーな調整を行ったり、関連ファイルを簡単に圧縮して購入した人に送信したりできるようにしたいのですが、周囲のすべてのファイルを使いたくありませんその枝に。
私のプロジェクトは$/Project/Main/
にあります。自分のブランチにマージする必要があるファイルが展開されています。
$/Project/Main/web/less/modules/myCustomModule.less
$/Project/Main/web/css/myCustomModule.css
$/Project/Main/web/scripts/myCustomModule.js
$/Project/Main/web/UserControls/custom/myCustomModule.ascx
$/Project/Main/web/UserControls/custom/myCustomModule.ascx.cs
.../web/
の後のディレクトリ構造を$/Project/NinjaModules/
にコピーする必要がありますが、必要なのはこれら5つのファイルだけです。
tf merge $/Project/Main/web/less/modules/myCustomModule.less $/Project/NinjaModules/less/modules/myCustomModule.less
...
すべてのコマンドを個別に再実行する必要があるため、$/Project/Main
から$/Project/NinjaModules
への変更をマージするまで、これは問題なく機能します。
これを構造化する正しい方法はありますか?
注:tf merge
の下にあるすべてのディレクトリを$/Project/Main
し、次に不要なすべてのファイルをtf delete
することもできますが、それを処理するにはかなり重い方法のようです。新しいファイルを$/Project/Main
に追加してからマージを実行すると、$/Project/NinjaModules
の新しいファイルを削除する必要があります。
これはTFVCよりもGitの方がはるかに簡単ですが、1つのチームプロジェクトですべてを行うことができます。コンポーネントごとにエリアパスとフォルダーを使用し、それぞれにNugerパッケージを作成します。次に、実装全体でこれらのコンポーネントを使用して自動更新できます。