Git в Visual Studio - добавить существующий проект?


105

Я пытаюсь поместить существующий проект в систему контроля версий Git, но мне неясно несколько моментов.

Я создал учетную запись Git "Team Foundation Service" в Интернете.

В настоящее время у меня есть решение ASP.NET MVC 4 - в папке «Мои проекты». Я создал репозиторий Git локально (в настоящее время пустая папка). Должна ли это быть просто моя текущая папка приложения в проектах? Или это должна быть копия?

Как мне поместить мои существующие файлы в онлайн-репозиторий?


Вы упомянули «Git в Visual Studio» - используете ли вы инструменты git в Visual Studio 2012?
Эдвард Томсон

Я считаю, что теперь это встроено в версию 2015 года для Team Explorer. Я столкнулся с этим, где я не мог «опубликовать» (начальное нажатие vs после инициализации), поэтому я добавлю ответ с инструкциями по добавлению URI
mschr

Ответы:


148

Я поискал аналогичный вопрос - мне удалось инициализировать репозиторий Git для существующего файла проекта следующим образом (отказ от ответственности: это делается в Visual Studio 2013 Express, без установки Team Foundation Server):

  1. Откройте проект в Visual Studio.
  2. Перейдите в меню FileAdd to Source Control .

Это сделало это для меня - предполагая, что Git настроен для вас, вы можете перейти в меню ViewTeam Explorer , затем дважды щелкнуть репозиторий для вашего файла проекта и сделать первоначальную фиксацию (обязательно добавьте любые файлы, которые вы хотите ).


7
Это также избавит вас от хлопот «предоставить разумный файл .gitignore», поскольку Visual Studio позаботится об этом за вас. Между ручным git init и этим с этого момента я предпочитаю этот метод.
MrCC

Если вы хотите выбрать проект, в который входит это новое решение, вы можете нажать кнопку «Синхронизировать», затем нажать «Опубликовать в репозиторий git», затем нажать «Расширенное решение» и выбрать проект, в который вы хотели бы добавить это новое решение .. как только у вас появится Сделав это, вы можете синхронизировать и бум
Jamisco

Примечание: это не сработало для меня, потому что я уже добавил общую библиотеку, которая была включена в другой репозиторий. Мне пришлось удалить общий проект до того, как стала доступна опция «Добавить в систему управления версиями».
Neil B

2
Они должны добавить это в окно Team Explorer.
thReality

66
  1. Прежде всего вам необходимо установить программное обеспечение Git на локальную машину разработки, например Git Extensions .
  2. Потом делайте git initв папке с решением. Это правильный способ создать папку репозитория.
  3. Создайте разумный .gitignoreфайл, чтобы не делать ненужных вещей.
  4. git add
  5. git commit
  6. Добавьте правильный пульт, как описано в вашей учетной записи Team Foundation Server. git remote add origin <proper URL>
  7. git push ваш код

Кроме того , существуют подробные руководства здесь с помощью визуального интеграции Studio.


Это отлично сработало, спасибо Класу! Одно замечание: для работы вам нужно указать URL-адрес в кавычках.
Джек Фэрфилд

NB: Новый URL-адрес для расширений Git: visualstudiogallery.msdn.microsoft.com/…
JohnLBevan,

@JohnLBevan, это расширение похоже на старую версию
Клас Меллборн,

ссылки битые

@PaulScharnofske, спасибо, что рассказал мне. Я исправил их сейчас
Клас Меллборн

17

Изучив Visual Studio, я наконец нашел ответ, на который потребовалось гораздо больше времени, чем следовало бы.

Чтобы взять существующий проект без системы управления версиями и поместить его в существующий ПУСТОЙ (это важно) репозиторий GitHub, процесс прост, но сложен, потому что ваше первое желание - использовать Team Explorer, что неверно и поэтому у вас проблемы.

Сначала добавьте его в систему управления версиями. Выше есть некоторые объяснения этого, и все зашли так далеко.

Теперь это открывает пустой ЛОКАЛЬНЫЙ репозиторий, и уловка, о которой вам никто никогда не говорит, заключается в том, чтобы полностью игнорировать Team Explorer и перейти в обозреватель решений, щелкнуть решение правой кнопкой мыши и нажать кнопку «Зафиксировать».

Затем это фиксирует все различия между вашим существующим решением и локальным репозиторием, по существу обновляя его всеми этими новыми файлами. Дайте ему имя коммита по умолчанию «начальные файлы» или что-то еще, что плавает ваша лодка, и сделайте коммит.

Затем просто нажмите « Синхронизировать» на следующем экране и введите ПУСТОЙ URL-адрес репозитория GitHub. Убедитесь, что он пуст, иначе у вас возникнут конфликты основной ветки, и это не позволит вам. Так что либо используйте новый репозиторий, либо удалите старый, который вы ранее испортили. Имейте в виду, что это Visual Studio 2013, поэтому ваш опыт может отличаться.


14

Просто щелкните правой кнопкой мыши свое решение и выберите Добавить в систему управления версиями . Затем выберите Git.

Теперь ваши проекты добавлены в локальную систему управления версиями. Щелкните правой кнопкой мыши один из ваших файлов и выберите « Зафиксировать» .

Затем введите сообщение фиксации и выберите « Фиксация» . Затем выберите « Синхронизировать», чтобы синхронизировать проект с GitHub. Для этого требуется репозиторий Git. Перейдите на GitHub, создайте новый репозиторий, скопируйте ссылку на репозиторий и добавьте ее на свой удаленный сервер управления версиями. Выберите Опубликовать .

Вот и все.


Этот ответ правильный и работает в VS 2015. Однако у меня возник серьезный вопрос: это новый пользователь git. VS 2015, похоже, не создавал файл gitignore и не предлагал какой-либо способ игнорировать DLL / файлы, созданные VS, которые НЕ должны проверяться. Как, например, папка obj, и она пытается зафиксировать все в локальных репозиториях. У кого-нибудь еще есть эта проблема? Я не хочу, чтобы все это делалось локально.
Мэтт

Я исправлю свой комментарий выше, когда узнаю больше. Когда я проверяю каталог, он действительно создал файл gitignore, что здорово, потому что он очень большой, и мне не хотелось бы пытаться создать его вручную. Однако, когда я попытался выполнить первоначальную фиксацию в локальном репо, VS не использовал этот файл gitignore, потому что все файлы были доступны для фиксации в git, и это был большой беспорядок. Итак, я закрыл решение, удалил папку .git и 2 файла git в своем решении (которое отделяется от git), снова открыл и перешел в файл-> добавить в систему управления версиями и снова выбрал git. На этот раз все получилось отлично.
Мэтт

Сейчас декабрь 2019 года, и это еще проще. После того, как я выполнил описанные выше шаги и нажал «Синхронизировать», мне было предложено указать учетную запись GitHub и указать, хочу ли я сделать это частным репозиторием. После выбора новый репозиторий был создан для меня (без необходимости переходить на GitHub) и успешно создан.
batpox

5

Использование SourceTree :

Щелкните правой кнопкой мыши имя решения в обозревателе решений. Выберите «Добавить в систему управления версиями» .

Затем перейдите в SourceTree и выберите Clone / New . Выберите Добавить рабочую папку и укажите на новое место Git, которое вы только что создали внутри своего решения.

Идите и возьмите адрес клона для пустого Git (Bitbucket или GitHub) и вернитесь в SourceTree, щелкните правой кнопкой мыши Remote и добавьте New Remote . (Обратите внимание, что в современных версиях перейдите в РепозиторииДобавить удаленный ... Вставьте свой URL-адрес в это поле и нажмите OK.

Вот как вы можете сделать первоначальную фиксацию и нажать.


5

Самый простой способ, очевидно, описан в статье MSDN Поделитесь своим кодом с Visual Studio 2017 и VSTS Git .

  1. Создайте новый локальный репозиторий Git для своего проекта, выбрав Добавить в систему управления версиями в строке состояния в правом нижнем углу Visual Studio. Это создаст новый репозиторий в папке, в которой находится решение, и зафиксирует ваш код в этом репозитории.

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

  2. В представлении Push в Team Explorer нажмите кнопку «Опубликовать репозиторий Git» в разделе «Отправить в Visual Studio Team Services».

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

  3. Подключите Remote Source Control, введите имя репозитория и выберите Опубликовать репозиторий .

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


3

В Visual Studio 2015 единственный способ заставить его работать - это запустить git initиз корня моего каталога с помощью командной строки. Затем я вошел в Team Explorer и добавил локальный репозиторий git. Затем я выбрал этот локальный репозиторий git, перешел в Настройки-> Настройки репозитория и добавил свое удаленное репозиторий. Вот так я наконец смог интегрировать Visual Studio для использования моего существующего проекта с git.

Я прочитал все ответы, но ни один из них не помог мне. Я перешел в File-> Add To Source Control, который, как предполагалось, должен был сделать то же самое git init, но, похоже, не инициализировал мой проект, потому что, когда я затем перешел в Team Explorer, все параметры были недоступны. Также ничего не будет отображаться в диалоговом окне «Изменения». В другом ответе говорилось, что мне просто нужно было создать локальное репо в Team Explorer, и тогда мои изменения отобразятся, но это тоже не сработало. Все параметры Git в Team Explorer работали только после того, как я инициализировал свой проект через командную строку.

Я новичок в Visual Studio, поэтому не знаю, пропустил ли я что-то очевидное, но похоже, что мой проект инициализировался не из Visual Studio.


После того, как вы выберете «Файл -> Добавить в систему управления версиями», есть ли что-нибудь в окне вывода для панели «Управление исходным кодом - Git»? Я бы ничего не ожидал на странице изменений, но если бы вы просмотрели историю репозитория Git, я бы ожидал, что он покажет фиксацию «Добавить файлы проекта», где файлы были зафиксированы в репозитории.
jamill 01

Это то же самое, что и в Source Control Explorer? Если да, то ничего не показывает. Он просто отображает ссылку для добавления плагина управления версиями. Когда я щелкаю по нему и выбираю Git, ничего не происходит. Что касается других панелей внутри Team Explorer, то тоже ничего не происходит. Только после того, как я инициализирую проект из командной строки, а затем создаю локальное репо на панели Connections, я начинаю видеть инструменты VS Git, взаимодействующие с моим проектом.
chavab_1 01

2

Сначала создайте «папку решений» с желаемым относительным путем. Обратите внимание, что Visual Studio 2012 не создает системную папку с таким же относительным путем.

Теперь внутри этой «папки решений» добавьте новый проект, но вы должны быть осторожны при его определении, чтобы относительный путь в системе совпадал с относительным путем вашей новой «папки решений». Если нужная системная папка не существует, Visual Studio 2012 создаст ее для нового проекта. (Как отмечалось выше, этого не происходит, когда вы добавляете новую «Папку решений».)

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


1

Если желаемый репозиторий уже существует (возможно, на GitHub), вы можете клонировать его в свою локальную систему, а затем скопировать в него каталог решения. Затем добавьте файлы, зафиксируйте файлы и отправьте локальный. Это поместит решение в репозиторий.


1

Git в Visual Studio - добавить существующий проект ; как опубликовать свой локальный репозиторий в проекте на GitHub, GitLab и т. д.

Итак, вы создали решение и хотите, чтобы оно было загружено и установлен контроллер версий через вашу учетную запись Git. В Visual Studio 2015 для этого есть инструменты в Team Explorer.

Как упоминает Meuep, загрузите свое решение, а затем перейдите File >> Add to Source Control . Это эквивалент git init. Тогда у вас будет это:

Главная страница Team Explorer

Теперь выберите Settings >> Repository Settings и прокрутите до Remote .

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

Настройте origin(убедитесь, что вы указали это зарезервированное имя) и установите URI.

Затем вы можете использовать Add, Syncи Publish.


1

Этот процесс значительно упрощен для VS2017 / VS2019 (возможно, даже раньше, но я не тестировал) в сочетании с GitHub:

  1. Создайте пустой репозиторий в GitHub => https://github.com/ /.git

  2. Установите расширение GitHub для Visual Studio

  3. Следуйте этим инструкциям : (при желании добавьте в систему управления версиями для инициализации git) -> Team explorer -> Синхронизация -> Опубликовать в GitHub -> https://github.com/ /.git


0

Если вы хотите открыть существующий проект из GitHub, вам необходимо сделать следующее (это шаги только для Visual Studio 2013 !!!! И новее, так как в более старых версиях нет встроенной установки Git):

  1. Team explorer → Подключиться к teamProjects → Локальные репозитории Git → Клонировать .

  2. Скопируйте / вставьте свой адрес GitHub из браузера.

  3. Выберите локальный путь для этого проекта.


0

Для меня репозиторий Git (не GitHub) уже был создан, но пуст. Это было моим решением для добавления существующего проекта в репозиторий Git:

  1. Я клонировал и проверил репозиторий с помощью Git Extensions.
  2. Затем я скопировал существующие файлы проекта в этот репозиторий.
  3. Добавил .gitignoreфайл.
  4. Поставил и зафиксировал все файлы.
  5. Отправлено в удаленный репозиторий.

Было бы интересно увидеть, как все это делается непосредственно в Visual Studio 2015 без таких инструментов, как Git Extensions, но то, что я пробовал в Visual Studio, не сработало ( Добавить в систему управления версиями для моего проекта недоступно, добавление пульта дистанционного управления не работает. помощь и т. д.).


0

Чтобы добавить проект в решение, просто откройте окно Team Explorer и перейдите в раздел «Изменения». Затем в разделе «Файлы без отслеживания» щелкните «Параметры просмотра» и выберите «Переключиться в представление в виде дерева» (если оно еще не отображается в виде дерева), щелкните правой кнопкой мыши корневую папку проекта и выберите « Добавить» .

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


0

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

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

Теперь вернемся к решениям Visual Studio, когда вы создаете стандартный проект-шаблон, он создает все проекты локально для этого решения.

Таким образом, проблема возникает, когда вы добавляете проект, который не является локальным для решения или git, если на то пошло. Что происходит, так это то, что файл решения .sln обновляется с учетом местоположения проекта, но фактическое содержимое проекта, файлы и папки проекта не могут быть добавлены в git, потому что они находятся в отдельном каталоге или отдельном сетевом диске или одном каком-то ftp-сервере и т. д. Это может быть предпочтительнее, если вам нужна только ссылка на файл проекта, который компилируется только в файле .sln, или если вы хотите поместить их в отдельные репозитории git или github. Но вы не хотите, чтобы фактические файлы отслеживались git локально.

Чтобы исправить это (т.е. вы хотите добавить их в свой репозиторий git), вы просто перемещаете интересующие удаленные файлы в пределах области действия решения и его файлов проектов, чтобы они были локальными.


0

Вот как это сделать в Visual Studio 2015.

  1. Откройте проект и перейдите в Инструменты >> Параметры >> вкладку «Контроль версий» и выберите «Git» в качестве исходного элемента управления. введите описание изображения здесь

  2. Перейдите в меню «Файл» и выберите «Добавить в систему управления версиями».

По сути, это означает выполнение "git init" визуальной студией, создающей все навороты (установка игнорирует файлы соответственно, например игнорирует пользовательские файлы, временные файлы, каталог и т. Д.).

По сути, ваш репозиторий git был создан правильно локально (это основной шаг с проектом VS, поскольку эта папка содержит множество файлов, которые мы хотим игнорировать).

Теперь вы можете подключить этот репозиторий git к любому другому git, например GitHub, BitBucket и т. Д. В git bash (за пределами Visual Studio).

Я запускаю сеанс Git Bash сейчас в этом рабочем каталоге, и, поскольку я использую BitBucket, я следую инструкциям, приведенным там (просто скопируйте оттуда строки ниже).

git удаленное добавление источника https: //yourusername@bitbucket.org/yourusername/hookdemo.git

git push -u origin master

Вот и все.

После этого вы можете управлять репозиторием в самой командной строке git с момента его правильной настройки.

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