そのため、Visual Studio 2015がリリースされたばかりで、Gitとのはるかに統合された連携があります。
ただし、不足していると思われる機能はgit over SSHです。この機能を許可する2013年のさまざまなプラグイン(GitExtensions)がありますが、2015年には表示されません。
GitHubプラグインはGitHubでのみ動作し、一般的なgitリポジトリでは動作しないようです。
Visual Studio 2015でGit + SSHを使用している人がいるかどうかを確認するために、いくつかの例や記事だけが優れているという意見は探していません。
いいえ。VisualStudio 2015(RTM)はGitリモートのSSHをサポートしていません。これは、GitHubプラグインを使用するGitHubリポジトリーにも当てはまります(現時点では、チームエクスプローラーを使用する他のGitリポジトリーと同じ接続メカニズムをGitリポジトリーに使用します)。
これは残念ですが、これがまだ利用できない理由はいくつかあります:短い答えは、私たちの意見では、SSHpoorlyまたはinsecurelyは、SSHをまったく提供しないよりも悪いため、提供するSSH実装が高品質であることを非常に確信したいと思います。
とはいえ、私たちはそれに取り組んでおり、進歩を遂げています。マイクロソフトは WindowsのOpenSSH を含め始めます(そして、その非常に素晴らしいプロジェクトのスポンサーです)。ただし、サポートが利用可能になる時期については予測できません。
GitHub拡張 はオープンソースであるため、異なるエクスプローラーでコアGitをサポートする前に、異なる接続メカニズムを使用してSSHのサポートを開始できる可能性があります。
Visual Studio Update 2およびUpdate 3の基本的な手順を次に示します。基本的な内容については、BPasの投稿のリンクをご覧ください。あなたは必要になるでしょう:
libssh2のビルド
以下をせよ:
cd <libssh2 root dir> (e.g. wherever you extracted the source to)
mkdir build && cd build
cmake -DCRYPTO_BACKEND=WinCNG -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF ..
ビルドディレクトリで結果のlibssh2.slnを開きます
libgit2のビルド
以下をせよ:
cd <libgit2 source dir> (e.g. this is wherever you extracted the libgit2 source you got from VS2015's extensions directory, see BPas' link for details)
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DSTDCALL=ON -DSTATIC_CRT=OFF -DUSE_SSH=OFF -DLIBSSH2_FOUND=TRUE -DLIBSSH2_INCLUDE_DIRS=<libssh2 root dir>/include -DLIBSSH2_LIBRARIES=<libssh2 root dir>/build/src/Release/libssh2.lib ..
ビルドディレクトリで結果のlibgit2.slnを開きます
オプション:src/transports/ssh.cにパッチを適用して、request_creds関数(行444あたり)でSSH RSAキー認証をサポートします。
if (!t->owner->cred_acquire_cb) {
no_callback = 1;
} else {
で:
if (!t->owner->cred_acquire_cb) {
if (user) {
const char *val = NULL;
val = getenv("USERPROFILE");
if (val)
{
char *szprivfilename = malloc(strlen(val) + 128);
char *szpubfilename = malloc(strlen(val) + 128);
strcpy(szprivfilename, val);
strcat(szprivfilename, "/.ssh/id_rsa");
strcpy(szpubfilename, val);
strcat(szpubfilename, "/.ssh/id_rsa.pub");
git_cred_ssh_key_new(&cred, user, szpubfilename, szprivfilename, "");
free(szprivfilename);
free(szpubfilename);
}
if (!cred) {
giterr_set(GITERR_SSH, "git_cred_ssh_key_new failed to initialize SSH credentials");
return -1;
}
}
else
{
no_callback = 1;
}
} else {
注:このパッチは、randomswdevの投稿のコメントから入手したもので、私の限られたテストではうまく機能しているようです。
BPasへの準拠:Visual Studio 2015では、SSH対応バージョンをビルドできます。さらに、公開/秘密キー認証サポート用のパッチがあります:
Visual Studio 2015で配布されたGITライブラリを再コンパイルすることにより、sshサポートを有効にすることができます。次の記事では、必要な手順について説明します。
http://randomswdev.blogspot.it/2015/07/adding-ssh-support-to-visual-studio.html
Git bashを使用してビジュアルスタジオにgitを追加することについては、ここではナンセンスでした。追加は機能しますが、コミットの作成もオプションでしたが、それらを同期するには依然としてgit bashが必要です。だから、これはちょっと役に立たないでしょう。