2017-10-30 1 views
0

3つの異なるGitリポジトリを持つ3つのプロジェクトを含むビジュアルスタジオソリューションがあります。メインプロジェクトがgitに接続され、完全にうまく動作する間、他のプロジェクトの変更は無視され、コミット/同期コマンドはそれらのプロジェクトでは利用できません。Visual Studio 2017は、マルチプロジェクトソリューションの1つのプロジェクトをGitリポジトリに接続するだけです

「ソリューションエクスプローラ」には、プロジェクトのアイコンがGitリポジトリに接続されているが他のプロジェクトには表示されていません。メインプロジェクトには、他のプロジェクトにはないソース管理メニュー項目もあります。

「接続の管理」ページですべてのreposを追加しました。私はまた、プロジェクトを削除し、接続の管理ページからクローンで再追加しようとしましたが、それらのリポジトリはまだVisual Studioで無視されます。私は複数のマシンで同じ問題を抱えています。

私は2台のマシンを使用していますが、部分的に同期されたソリューションのために無駄にした時間は膨大な問題になっています。

+0

を使用することができ、すべてを引っ張って

echo off IF NOT %2.==. ( echo More than one parameter passed. Please ensure your commit message is surrounded with quotes GOTO :End ); IF %1.==. ( echo No Commit Message. Please pass a commit message as the first parameter. GOTO :End ) set commitmessage=%~1 for /f %%f in ('dir /ad /b .\') do cd /d .\%%f & call git add --all && git commit -m "%commitmessage%" & git push & cd .. :End 

。しかし、どちらの方法でも、別々のコミットと更新で各リポジトリを操作する必要があり、ツールでそれをシームレスにすることはできません。 – crashmstr

+0

@crashmstr VSが私を強制するので、私はすでに別のUIを使用しています。 JetBrainsがライダーのプロセスを事実上シームレスにすることができれば、私はMSが同じことをすることができると確信しています。 –

+0

Visual Studioでは、単一のレポになることが期待されています。そして、あなたを強制する。 "合成リポジトリ"で作業したい場合は、これらのリポジトリ間の関係を追跡するGit Submodulesを設定することができます。または、依存プロジェクトからNuGetパブリッシングをセットアップし、ソリューションの依存関係を解除します。 – jessehouwing

答えて

0

他にも役に立つかもしれない2つの.batスクリプトをノックしました。これらのスクリプトは、すべてのreposに共通のルートがある場合にのみ機能します。スクリプトとルートを配置して実行します。

すべてを追加、コミット、プッシュするには、パラメータをコミットメッセージとして使用することができます。あなたはこれらのプロジェクトのいずれかが「ライブラリ」スタイルのプロジェクトであれば、サブモジュールが役立つかもしれないが、そう別のGitのUIアプリケーションを使用でき

for /f %%f in ('dir /ad /b .\') do cd /d .\%%f & call git pull & cd .. 
関連する問題