Как добавить существующее решение в GitHub из Visual Studio 2013


208

Я просмотрел множество веб-страниц о новой интеграции Git в VS 2013, и они не имеют отношения к добавлению существующего решения в Github. На самом деле я не могу найти много об использовании GitHub вместо Visual Studio Online.

Может кто-нибудь сказать мне, как я начинаю с существующего решения и добавить его в Github с помощью инструментов в VS 2013.


Почему бы просто не сделать это из командной строки? Всего должно быть около 5 команд (создать репо, добавить проект в репо [2 команды], добавить пульт, нажать на пульт) ? Все команды довольно хорошо документированы.
R0MANARMY

2
Добавление его через github для VS добавит кнопку «Открыть с помощью Visual Studio» на странице github. незначительный, но полезный :)
Ateik

Ответы:


348

ОК, это сработало для меня.

  1. Откройте решение в Visual Studio 2013
  2. Выбрать файл | Добавить в Source Control
  3. Выберите провайдера Microsoft Git

Это создает локальный репозиторий GIT

  1. Посижу на GitHub
  2. Создать новый репозиторий НЕ ВЫБИРАТЬ Инициализируйте этот репозиторий с помощью README

Это создает пустой репозиторий без главной ветки

  1. После создания откройте репозиторий и скопируйте URL (в текущей версии он находится справа на экране)
  2. Вернуться в Visual Studio
    • Убедитесь, что у вас выбран Microsoft Git Provider в меню «Инструменты» / «Параметры» / «Управление источником» / «Выбор подключаемого модуля».
  3. Откройте Team Explorer
  4. Выберите дом | Несинхронизированные коммиты
  5. Введите URL-адрес GitHub в желтом поле (используйте URL-адрес HTTPS, а не SSH по умолчанию)
  6. Нажмите Опубликовать
  7. Выберите дом | изменения
  8. Добавить комментарий
  9. Выберите Commit и Push из выпадающего

Ваше решение сейчас в GitHub


4
Я хочу добавить, что в настоящее время ssh не поддерживается, поэтому вы должны использовать протокол https. Если уже используется неправильный URL-адрес, вы можете использовать git remote set-url origin https: // ..., чтобы изменить его.
Майкл Дитрих

1
Спасибо, это помогло мне. Проверка инициализации в github разрушала его для меня.
josha76

6
Если вы случайно перепрыгнули и создали репозиторий с помощью readme, вы можете восстановить его, открыв оболочку git (bash или ps) и из корневого каталога типа git remote rm origin. Это вернет текстовое поле URL в VS2013 и позволит вам повторно добавить удаленный сервер. Возможно, есть способ сделать это в VS, но я не смог его найти.
Боб

4
Когда я нажимаю «Опубликовать», он говорит мне: You must commit changes to your local repository before you can publish.что мне делать? Как мне внести изменения в мой локальный репозиторий?
Марк Крамер

4
Вы нажимаете на Home | Изменения. Затем введите сообщение коммита в желтом поле и нажмите «Фиксация».
Ричард210363,

82

Существует гораздо более простой способ сделать это, даже не требуя от вас каких-либо действий вне Visual Studio.

  • Откройте свой проект в Visual Studio
  • Файл> Добавить в систему контроля версий
  • Откройте Team Explorer, нажмите кнопку « Домой» , перейдите к « Синхронизация » и там вы найдете « Публикация в GitHub ». Нажмите « Начать »
  • Введите название вашего хранилища и описание (опционально).
  • Нажмите « Опубликовать »

Вот и все. Плагин Visual Studio Github автоматически создал хранилище для вас и настроил все. Теперь просто нажмите Home и выберите вкладку « Changes » и, наконец, зафиксируйте свой первый коммит.


17
Не перегружайтесь количеством голосов. Этот работает и намного проще, по крайней мере, в VS2015.
dotNET

2
Я не смог найти GitHub вещь, поэтому я должен был использовать это: visualstudio.github.com
ท ઽ ૯ ท

Это то, что я искал. Однако мой опыт немного отличался. Когда я нажал Add to source control, меня вывели прямо на экран, чтобы добавить первый коммит в автоматически созданный локальный репозиторий git, что было именно тем, что я хотел. Сообщество VS2015.
parker.sikand

3
Я уверен, что это решение предполагает, что установлено расширение Github для VS2015. Вы можете получить его здесь, как описано выше комментарий: visualstudio.github.com
Greg

2
Просто использовал этот метод для передачи решения VS2017 в локальный репозиторий Gogs.
Питер М

12

На этот вопрос уже точно ответил Richard210363.

Тем не менее, я хотел бы указать, что есть другой способ сделать это, и предупредить, что этого альтернативного подхода следует избегать , поскольку он вызывает проблемы.

Как заявили R0MANARMY в комментарии к исходному вопросу, можно создать репо из существующей папки решения, используя командную строку git или даже Git Gui. Тем не менее, когда вы делаете это, он добавляет все файлы из этой папки в репозиторий, включая выходные файлы сборки (bin / obj / folder), файлы опций пользователя (.suo, .csproj.user) и множество других файлов, которые могут быть в вашем решении. папку, но вы не хотите включать в репо. Одним из нежелательных побочных эффектов этого является то, что после локальной сборки выходные данные сборки будут отображаться в вашем списке «изменений».

Когда вы добавляете с помощью «Выбор файла | Добавить в систему управления исходным кодом» в Visual Studio, он разумно включает в себя правильные файлы проекта и решения, а остальные исключает. Также он автоматически создает файл .gitignore, который помогает предотвратить добавление этих нежелательных файлов в репозиторий в будущем.

Если вы уже создали репо, включающее эти нежелательные файлы, а затем добавите файл .gitignore, ненужные файлы все равно останутся частью репо и их нужно будет удалить вручную ... вероятно, проще удалить сделайте репо и начните заново, создав правильный репо.


Я использовал метод, предложенный выше MaKiPL. Это сработало. и он не имел недостатков, описанных jjjjs. Я обнаружил, что метод, предложенный MaKiPL, намного проще, чем использование команд Git.
Гленн

6
  • В меню Team Explorer нажмите «добавить» в разделе репозитория Git (вам нужно добавить каталог решения в локальный репозиторий Git)
  • Откройте решение в Team Explorer (щелкните правой кнопкой мыши на добавленном решении - откройте)
  • Нажмите на кнопку фиксации и найдите ссылку «нажать»

Visual Studio должна запросить учетные данные GitHub, а затем продолжить загрузку решения.

Поскольку моя учетная запись Windows подключена к Visual Studio для работы с Team Foundation, я не знаю, работает ли она без учетной записи, Visual Studio будет отслеживать, кто совершает коммиты, поэтому, если вы не вошли в систему, возможно, сначала попросит вас об этом.


3
В моем Team Explorer нет ни добавления, ни Git-раздела
Richard210363

4

Ну, я понимаю, что этот вопрос связан с графическим интерфейсом Visual Studio, но, возможно, этот вопрос можно попробовать и у автора. Просто дать другую точку зрения в решении этой проблемы.

Мне очень нравится использовать терминал для GIT, так что вот простые шаги:

Предпосылки ...

  • Если это Linux или MAC, на вашем компьютере должны быть установлены пакеты git
  • Если это Windows, вы можете попробовать загрузить программное обеспечение git bash

Сейчас,

  1. Goto Github.com
  2. В вашем аккаунте создайте новый репозиторий
  3. Не создавайте никаких файлов внутри хранилища. Держите это пустым. Скопируйте его URL. Это должно быть что-то вроде https://github.com/Username/ProjectName.git

  4. Откройте терминал и перенаправьте в каталог проекта Visual Studio.

  5. Настройте свои учетные данные

    git config --global user.name "your_git_username"
    git config --global user.email "your_git_email"
    
  6. Затем введите эти команды

    git init
    git add .
    git commit -m "First Migration Commit"
    git remote add origin paste_your_URL_here
    git push -u origin master
    

Готово ... Надеюсь, это поможет


в последней строке этот мастер git push -u origin выдавал ошибку, говоря, что remote содержит работу, которой у вас нет локально (она была недавно создана и пуста). Затем, когда попытался снова потянуть. "нет информации об отслеживании текущей ветки" Git - загадка
Blue Clouds

эта ссылка дает некоторое объяснение вышеупомянутых команд
Tendai Mare

Это действительно работает. Спасибо ...
:)

0

Моя проблема в том, что когда я использую https для удаленного URL-адреса, он не работает, поэтому вместо этого я использую http. Это позволяет мне публиковать / синхронизировать с GitHub из Team Explorer.


Хотелось бы мне знать, что значит «не работает», чтобы у меня было лучшее представление о том, может ли это иметь отношение к моим проблемам.
user34660 15.02.15

0

Ни один из ответов не относился к моей проблеме, вот как я это сделал.

Это для Visual Studio 2015, и я уже сделал репозиторий на Github.com

Если у вас уже есть URL вашего репозитория, скопируйте его, а затем в Visual Studio:

  • Перейти к Team Explorer
  • Нажмите кнопку «Синхронизировать»
  • У него должно быть 3 варианта, перечисленных со ссылками «начало работы».
  • Я выбрал ссылку «Начало работы» против «Опубликовать в удаленном хранилище», которая является нижней.
  • Появится желтое поле с просьбой указать URL. Просто вставьте туда URL и нажмите «Опубликовать».

0

В VS2017 это на несколько щелчков меньше, и, если локальное хранилище находится впереди клона Git, нажмите «Управление исходным кодом» во всплывающем меню проекта: откроется диалоговое окно «Изменения в Team Explorer»: введите описание - здесь это «Переполнение стека» Пример совершения ". Выберите один из трех предлагаемых вариантов, все они описаны здесь .

введите описание изображения здесь


введите описание изображения здесь

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.