MS Visual Studio + гитолит или github через ssh
У меня есть MSVS 2013 + git 1.8.4 + git -extensions 2.47.3 на локальном компьютере и гитолит 2.3-1 на удаленном сервере
Я мог бы клонировать фиксацию и нажимать мой проект (git @server.example.com: testproject) с помощью консольных инструментов и через git -extension GUI
Но я не мог сделать то же самое из "Team Explorer" в MSVS. Даже если я буду клонировать его вручную (консольным инструментом) и добавить в качестве локального репозитория в MSVS Team Explorer, я не могу зафиксировать или нажать, потому что
Произошла ошибка. Подробное сообщение: ошибка была вызвана libgit2. Category = Net (Ошибка). Этот транспорт не реализован. К сожалению
Все, что я нашел, связано с TFS или локальной интеграцией git.
То же самое с проектом github.
Можно ли даже заставить его работать? С помощью некоторых консольных крючков или что-то в этом роде?
Ответы
Ответ 1
"Team Explorer" использует интеграцию Git, добавленную с Visual Studio 2013.
См. " Клонировать удаленный репозиторий Git из сторонней службы".
С этой встроенной интеграцией Git в Visual Studio поддерживается только https.
Ssh еще не поддерживается.
![http://i.msdn.microsoft.com/dynimg/IC698706.png]()
Это сообщение в блоге MSDN, опубликованное в октябре 2013 года:
На момент написания этой статьи, Visual Studio 2013 не поддерживает удаленные службы на основе ssh.
Если у вас есть удаленный Git, который использует SSH, и вы пытаетесь выполнить сетевую операцию в Visual Studio, вы получите сообщение "This transport isn’t implemented. Sorry.
" (это сообщение происходит из библиотеки libgit2).
У меня нет временной шкалы, когда в Visual Studio может быть реализована поддержка удаленных устройств SSH.
Обновление к 2015 году:
Однако, как Владимир Колтунов упоминает ниже, начинается запуск libgit2
(Q4 2015) (для VS 2015) с поддержкой ssh в проекте PROGrand/git2-msvstfs-ssh-patch
.
Этот патч для 'libgit2
' позволяет использовать открытые/закрытые ключи SSH с репозиториями ssh (такими как gitolite) в Visual Studio 2015
Ответ 2
В качестве обходного пути я использую командную строку git (вызывается нажатием Открыть командную строку в раскрывающемся списке Действие в Team Explorer).
Он уже открывается в каталоге git repo, поэтому нажатие (после того, как вы сделали локальные изменения) так же быстро, как вызвать командную строку и выполнить команду git push
, не прикладывая усилий при нажатии Синхронизировать.:)
Ответ 3
Для Visual Studio 2015 можно создать версию с поддержкой SSH.
https://github.com/PROGrand/git2-msvstfs-ssh-patch
Ответ 4
Я получил это же сообщение, когда у пользователя был свой репозиторий, сопоставленный с сетевым диском, и этот диск не был отображен. Таким образом, единственные доступные транспортные средства (по крайней мере, на VS 2013) - это http и файловая система, но если вы используете файловую систему и диск недоступен, libgit сообщает вам, что он не поддерживает транспорт.