Git у Visual Studio - додати існуючий проект?


105

Я намагаюся поставити існуючий проект під контроль джерела Git, але мені не зрозуміло декілька речей.

Я створив обліковий запис Git 'Service Foundation' в Інтернеті.

Наразі у мене в папці Проекти є рішення ASP.NET MVC 4. Я створив локальне сховище Git (на даний момент порожня папка). Це повинна бути лише моя поточна папка додатків у проектах? Або це повинна бути копія?

Як перенести наявні файли в онлайн-сховище?


Ви згадуєте "Git in Visual Studio" - чи використовуєте ви інструменти git у Visual Studio 2012?
Едвард Томсон

Я вважаю, що це тепер закладено у версії 2015 року під Team Explorer. Я наткнувся на це, де я не міг 'Опублікувати' (проти початкового натискання після init), тож я додам відповідь із інструкціями щодо додавання URI
mschr

Відповіді:


148

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

  1. Відкрийте проект у Visual Studio.
  2. Перейдіть до меню ФайлДодати до керування джерелами .

Це зробило для мене - якщо припустити, що Git налаштований для вас, ви можете перейти до меню ПереглядПровідник команди , потім двічі клацніть сховище для файлу вашого проекту та здійснити початкову фіксацію (обов’язково додайте файли, які б вам хотілося. ).


7
Це також заощадить вам клопоту "поставити розумний .gitignore файл", оскільки Visual Studio подбає про цю деталь для вас. Між ручним git init і цим, відтепер, це мій кращий метод.
MrCC

Якщо ви хочете обрати проект, в який входить це нове рішення, ви можете натиснути кнопку «Синхронізувати» - потім натисніть кнопку «Опублікувати», щоб отримати gpo repo, а потім натиснути розширене рішення та вибрати проект, до якого ви хочете додати це нове рішення .., коли у вас буде Зробивши це, ви можете потім синхронізувати та
нарощувати

Зауважте: це не спрацювало для мене, тому що я вже додав спільну бібліотеку, яка була включена до іншого сховища. Мені довелося видалити спільний проект, перш ніж доступна опція "Додати до контролю джерела".
Ніл Б

2
Вони повинні додати це до вікна Team Explorer.
реальність

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 це розширення виглядає так, що воно вказує на стару версію
Klas Mellbourn

посилання порушені

@PaulScharnofske дякую за те, що мені сказали. Я виправив їх зараз
Клас Меллбурн

15

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

Для того, щоб взяти існуючий проект без контролю джерела і розмістити його в існуючому EMPTY (це важливо) сховище GitHub, процес простий, але складний, тому що ваш перший нахил - використовувати Team Explorer, що неправильно, і тому у вас є проблеми.

Спочатку додайте його до керування джерелом. Є кілька пояснень цього вище, і всі досягають цього далеко.

Тепер це відкриває порожнє сховище LOCAL, і фокус, про який ніхто вам ніколи не розповідає, - це повністю ігнорувати Провідник команди та перейти до Провідника рішень, клацніть правою кнопкою миші рішення та натисніть "Здійснити".

Потім відбувається внесення всіх відмінностей між існуючим рішенням та локальним сховищем, по суті оновлення його всіма цими новими файлами. Дайте йому ім'я фіксації за замовчуванням «початкові файли» або все, що плаває на вашому судні та виконувати.

Потім просто натисніть кнопку " Синхронізувати" на наступному екрані та перейдіть до URL-адреси сховища EMPTY 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 року, і це ще простіше. Після того, як я зробив описані вище дії та натиснув Sync, мені з’явилося запит на обліковий запис GitHub і чи хочу я зробити це приватним сховищем. Після вибору новий репозиторій був створений для мене (без мене потрібно переходити до GitHub) та успішно створений.
батокс

5

Використання SourceTree :

Клацніть правою кнопкою миші назву рішення в Провіднику рішень. Виберіть "Додати до керування джерелом" .

Потім перейдіть до SourceTree та виберіть Клон / Новий . Виберіть Додати робочу папку та вкажіть нове місце Git, яке ви тільки що створили всередині свого рішення.

Go і захопити адреса клон для порожнього Git, (Bitbucket або GitHub) і повернутися до SourceTree, клацніть правою кнопкою миші пульт і додати нові дистанційні . (Зверніть увагу на сучасні версії, перейдіть до сховищДодати віддалений .... Вставте свою URL-адресу у це поле та натисніть OK.

Це те, як ви можете зробити свої початкові зобов'язання та натиснути.


5

Найпростіший спосіб - це, очевидно, як описано в статті MSDN. Поділіться кодом з Visual Studio 2017 та VSTS Git .

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

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

  2. У режимі перегляду Push в Провіднику Team виберіть кнопку Опублікувати сховище Git у розділі "Натиснути на службу команд Visual Studio".

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

  3. Підключіть віддалене керування джерелом та введіть ім'я вашого сховища та виберіть Опублікувати сховище .

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


3

У Visual Studio 2015 єдиний спосіб, коли я нарешті змусив його працювати, - це запустити git init з кореня мого каталогу за допомогою командного рядка. Потім я зайшов у Team Explorer і додав локальне сховище git. Потім я вибрав це локальне сховище git, перейшов до Налаштування-> Налаштування сховища та додав своє віддалене репо. Ось так я нарешті зміг інтегрувати Visual Studio, щоб використовувати мій існуючий проект із git.

Я прочитав усі відповіді, але жодна з них не працювала на мене. Я перейшов до File-> Add to Source Control, який, як правило, робив те саме, що git init, але, здається, не ініціалізував мій проект, тому що коли я перейшов до провідника Team, всі варіанти були відтінені. Також нічого не відображатиметься в діалоговому вікні Зміни. Інша відповідь зазначала, що мені просто потрібно було створити локальний репо в Team Explorer, і тоді мої зміни з’являться, але це теж не спрацювало. Усі параметри Git у Team Explorer працювали лише після того, як я ініціалізував свій проект через командний рядок.

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


Після вибору "Файл -> Додати до керування джерелом", чи є що-небудь у вікні виводу для панелі "Контроль над джерелами - Git"? Я не очікував би нічого на сторінці "Зміни", але якщо ви переглянули історію сховища Git, я б очікував, що вона відобразить команду "Додати файли проекту", де файли були зроблені для сховища.
варення

Це те саме, що і Провідник управління джерелами? Якщо так, то він нічого не показує. Він просто відображає посилання, щоб додати плагін управління джерелом. Коли я натискаю на нього і вибираю Git, нічого не відбувається. Що стосується інших панелей у Team Explorer, то й нічого не відбувається. Лише після того, як я ініціалізую проект із командного рядка, а потім створюю локальне репо з панелі «Підключення», я починаю бачити, як інструменти VS Git взаємодіють із моїм проектом.
chavab_1

2

Спочатку створіть папку рішення з потрібним відносним шляхом. Зауважте, що Visual Studio 2012 не створює системну папку з однаковим відносним шляхом.

Тепер всередині цієї папки рішення додайте новий проект, але ви повинні бути обережними, визначаючи, чи відносний шлях у системі відповідає відносному шляху вашої нової папки рішення. Якщо потрібної системної папки не існує, Visual Studio 2012 тепер створить її для нового проекту. (Як зазначалося вище, це не робиться, коли ви додаєте нову "Папку рішення".)

Якщо ви хочете додати існуючий файл із відповідним відносним шляхом, спочатку потрібно створити файл у відносному шляху відповідності системи, поза межами Visual Studio. Потім ви можете додати існуючий файл у Visual Studio.


1

Якщо потрібний репозиторій вже існує (можливо, на GitHub), ви можете його клонувати до вашої локальної системи, а потім скопіювати у нього каталог рішень. Потім додайте файли, вставте файли та натисніть локальні. Це помістило рішення в сховище.


1

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

Отже, ви створили рішення, і хочете, щоб воно було десь завантажене та контролер версій через ваш обліковий запис Git. Для цього Visual Studio 2015 має інструменти в Провіднику Team.

Як згадує Meuep, завантажте рішення та перейдіть до File >> Add to Source Control . Це еквівалент git init. Тоді у вас буде таке:

Домашня сторінка Team Explorer

Тепер виберіть Settings >> Repository Settings та перейдіть до пункту Віддалені .

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

Налаштуйте origin(переконайтеся, що ви поставили це зарезервоване ім'я) та встановіть URI.

Потім ви можете використовувати Add, Syncі Publish.


1

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

  1. Створіть порожній сховище в GitHub => https://github.com/ /.git

  2. Встановіть розширення GitHub для Visual Studio

  3. Виконайте наступні вказівки : (необов’язково додати до джерела управління, щоб ініціалізувати git) -> Команда Explorer -> Синхронізувати -> Опублікувати в GitHub -> https://github.com/ /.git


0

Якщо ви хочете відкрити існуючий проект від GitHub, вам потрібно виконати наступні дії (це кроки лише для Visual Studio 2013 !!!! та новіші, так як у старих версіях немає вбудованої установки Git):

  1. Провідник команди → Підключення до teamProjects → Local GitRepositories → Clone .

  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 Solutions, коли ви створюєте стандартний шаблонний проект, він створює всі проекти локально до цього рішення.

Тож проблема виникає, коли ви додаєте проект, який не є локальним, до рішення або збираєтеся вирішити цю проблему. Що трапляється, що файл рішення .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 remote add origin https: //yourusername@bitbucket.org/yourusername/hookdemo.git

git push -u походження майстер

Це воно.

Після цього ви можете керувати сховищем у самому командному рядку git з моменту його встановлення належним чином.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.