Управление версиями visual studio

Обновлено: 07.07.2024

Рано или поздно у разработчика наступает момент, когда разработка вида "хренак, хренак и в продакшен" уже не устраивает и требуются системы, которые бы работали как сохранения в игре, и в любой момент можно вернуться к определенному шагу разработки. Такие системы называют системами контроля версий, их очень много, но речь сегодня пойдет именно про GIT.

Что такое GIT

Git - система управления контроля версиями, репозитории Git содержат файлы, историю, конфигурации управляемые Git. Данные могут отправляться из локальной папки в Git репозиторий и обратно, локальное состояние подразумевает рабочую папку которая содержит измененные файлы готовые для помещения в .git каталог, при помещении в данный каталог - Commit, указываются комментарии к данному коммиту, что по факту является историей, удаленный репозиторий содержит ветки Branches, основная ветка называется Master, данные могут отправляться как в Master, так и другие ветки (ответвления) проекта.

GIT является одной из самых популярных систем. Её отличие от других программ — отсутствие графической версии. Поэтому работа с Git ведётся через командную строку. В разных операционных системах свои программы для взаимодействия с Git.

В Windows их две: PowerShell и cmd.exe. В Ubuntu это Terminal. Самая популярная программа на macOS тоже называется Terminal. Если вам не подходит встроенная в систему программа для работы с командной строкой, вы можете поставить свою. Например, написанную на JavaScript программу Hyper, которая работает на любой операционной системе. На Windows популярны программы Cmder и Git Bash, а на macOS — iTerm.

Установка GIT

Если вы ранее не работали с GIT, то для начала его нужно установить. В зависимости от системы нужно выбрать свой вариант

Установка GIT в Linux (Ubuntu)

В зависимости от вашего дистрибутива Linux требуется установить через консоль, например в убунту эта команда будет иметь следующий вид:

Команды для других дистрибутивов можно посмотреть здесь.

Установка на macOS

Установка в Windows

Скачайте exe-файл инсталлятора с сайта Git и запустите его. Это Git для Windows, он называется msysGit. Установщик спросит добавлять ли в меню проводника возможность запуска файлов с помощью Git Bash (консольная версия) и GUI (графическая версия). Подтвердите действие, чтобы далее вести работу через консоль в Git Bash. Остальные пункты можно оставить по умолчанию.

Проверим, что Git установлен.

После того, как все действия по установке завершены, убедимся, что Git появился в системе компьютера. Откройте терминал и введите git --version , должна появиться текущая версия программы на вашей машине. Эта проверка подходит для всех операционных систем.

Настройка Git

После установки производим настройку своего профиля вводя в терминал поочереди команды:

Заменив значения ВАШЕ_ИМЯ и АДРЕС вашими значениями.

После указания своих данных, можно их просмотреть:

Обратите внимание, что в командах, указанных выше, есть опция --global . Это значит, что такие данные будут сохранены для всех ваших действий в Git и вводить их больше не надо. Если вы хотите менять эту информацию для разных проектов, то в директории проекта вводите эти же команды, только без опции --global .

GITHUB

GitHub — веб-сервис, который основан на системе Git. Это такая социальная сеть для разработчиков, которая помогает удобно вести коллективную разработку IT-проектов. Здесь можно публиковать и редактировать свой код, комментировать чужие наработки, следить за новостями других пользователей. Именно в GitHub работаем мы, команда Академии, и студенты интенсивов.

Чтобы начать работу с GitHub, нужно зарегистрироваться на сайте, если вы ещё этого не сделали.

После того как у вас будет создан аккаунт в Github можно будет начать полноценно работать с ним.

Копирование репозитория Git в локальную папку

Для начала определим, что такое репозиторий. Это рабочая директория с вашим проектом. По сути, это та же папка с HTML, CSS, JavaScript и прочими файлами, что хранится у вас на компьютере, но находится на сервере GitHub. Поэтому вы можете работать с проектом удалённо на любой машине, не переживая, что какие-то из ваших файлов потеряются — все данные будут в репозитории при условии, что вы их туда отправите. Но об этом позже.

Команда для копирования репозитория:

После клонирования переходим в папку репозитория:

Добавление данных в Git или коммит (commit)

Создаем файл с текстом:

Видим, что у нас есть файл готовый для загрузки в Git, добавляем его в репозиторий:

Снова смотрим статус, видим что у нас появился новый файл example.txt, добавляем данный файл в репозиторий используя git commit:

Отправка данных в онлайн Git репозиторий

После ввода аутентификационных данных, произойдет отправка в онлайн репозиторий, после чего можно обновить страницу на GitHub дабы убедиться в том, что новый файл добавлен в него (репозиторий).

Обратите внимание, что если вы используете двухфакторную авторизацию на github и являетесь пользователем linux, то вам нужно в настройках, в разделе "Developers setting" создать новый Personal access tokens и данный токкен использовать вместо пароля при аутентификации.

VISUAL STUDIO CODE

Данное ПО является хорошим выбором для комфортной работы с GIT и GITHUB. В VS Code есть встроенный терминал, который можно вызвать с помощью комбинации клавиш:

Внутри данного терминала вы можете использовать теже команды для работы с GIT которые были описаны выше.

Настройка терминала VS Code в Windows

По умолчанию консоль VS Code в Windows запускает стандартную командную строку Windows, которая не может работать с GIT, чтобы все работало нужно запустить терминал bash , для этого выполним следующие действия:

в настоящее время я работаю над большим проектом и собираюсь внести некоторые большие изменения и искал способ "резервного копирования" моей предыдущей работы. Есть встроенная функциональность в Visual Studio для работы с контролем версий?

этот проект разработан только мной и не использует Team Foundation Server (это то, на что большинство моих гуглов, похоже, дают мне ответы). В идеале, я хотел бы идентифицировать и восстановить все различные версии моей программы по мере ее развития, без приходится беспокоиться о том, чтобы что-нибудь не испортить.

ура и спасибо заранее!

---редактировать--- Однако с системой управления версиями это будет храниться на отдельном сервере? Или можно хранить его локально? Я больше обеспокоен тем, что я просто серьезно испорчу свой код и не смогу его отменить в какой-то момент.

существует несколько сторонних инструментов интеграции управления версиями, таких как ankhsvn или VisualSVN для репозиториев SVN (я использую первый и с удовольствием рекомендую его). Что касается" встроенного", Visual Studio поддерживает Team Foundation Server и Visual Source Safe из коробки, но это как платные продукты, так и VSS следует избегать (на мой взгляд) для любой новой работы.

лично я использую TortiseSVN (для интеграции Windows) и AnkhSVN (для интеграции VS) с нашим SVN хранилище. Также есть бесплатные SVN-серверы, поэтому вы можете обойтись очень хорошим решением, заплатив $0.

Ну, есть несколько свободный системы управления версиями варианты а там Плагины (бесплатных) в Visual Studio это позволит вам подключиться прямо. Взгляните на эти ссылки и выберите тот, который работает для вас!

Visual Studio имеет возможность работать со многими поставщиками системы управления версиями. Вы просто должны подключить их.

использовать "инструменты->опции->управление->подключаемый модуль выбора".

TFS действительно дорого, особенно для вас. Вы можете использовать клиента VisualSVN.

Это бесплатная загрузка для нас ANkhsvn. Это плагин для visual studio, который подключается к различным разделителям управления версиями. Сначала вам нужно будет где-то настроить сервер subversion. Что довольно легко сделать.

Как вы заявляете, вам нужна система контроля версий. Посмотри на это!--1-- > ответ на выбор системы управления версиями.

вы можете использовать git с VS, что означает, что вам не нужен другой dir/server и т. д. Для РЕПО. Считать использование Git с Visual Studio

вы можете использовать SVN (Subversion) - один из наиболее широко используемых.

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


Этим постом я просто хочу сэкономить кому-то время. Систему контроля версий можно настроить за 20 минут и далее написано как:

На работе используется Team Foundation Server, соответственно хотелось похожего интерфейса, функционала и интеграции в Visual Studio 2010. Замечу, что Express Edition не поддерживает интеграцию сторонних модулей, так что перманентный триал на 90 дней рулит.

Весь функционал TFS мне не нужен, нужна лишь система управления версиями.
Рассматривались Subversion + AnkhSvn, Git + Git Source Control Provider и Mercurial + HgScc. Материалов, посвященных сравнению этих систем очень много, в том числе и на Хабре.

Я остановился на последнем варианте. Решающим аргументом стал сервис для хостинга проектов Bitbucket. Для Git и Subversion есть GitHub, но он бесплатен лишь для OpenSource проектов, BitBucket же бесплатен для проприетарных проектов с числом разработчиков до 5. Ну и к тому же, я прочитал хабратопик «Как начать работать с GitHub: быстрый старт», и… Ну и в общем, теперь я пишу эту статью.
Зачем возится с BitBucket при проекте, состоящем из одного девелопера? Наверное, это просто перестраховка. Даже несмотря на использование RAID 1 для рабочей информации, хочется перестраховаться и хранить результаты своей работы еще где-то.

Итак, пошаговая инструкция для установки Mercurial Windows way (то есть без консоли):

Но Mercurial — распределенная система контроля версий, соответствено схема ее использования выглядит так: вы заливаете свои изменения на локальный репозиторий, затем синхронизируете свой локальный репозиторий с сервером (в данном случае BitBucket). Для проекта с одним разбработчиком это лишь беполезное усложнение, но для команды разработчиков это очень удобно.
Вот ролик, очень наглядно объясняющий почему это так удобно (in English).

Вот задумался, нужна ли она мне. Работаю один. Так-то всё устраивает, но есть одно но: хочется порядок навести. Потому что то, что есть у меня сейчас, это всегда последняя версия проектов. Вот только совсем не давно начал архивы создавать с названиями версий программ. После этого и подумал на счёт системы управления версиями.

В своё время начинал работу с SVN, когда ещё на ActionScript 3.0 писал. Честно говоря, было не удобно то, что каждый раз нужно было лезть в файловую систему и там производить манипуляции (получение, заливка). Но видимо тогда всему виной было то, что либо не было плагина на FDT, либо никому это и не нужно было на моём месте работы.

Потом столкнулся с Team Foundation Server при работе в Visual Studio. О нём у меня остались приятные впечатления (всё делалось прямо из студии).

А ещё позже снова использовали SVN (а именно TortoiseSVN). Тогда разработка шла в студии, но система сборки была CMake. В общем опять было не удобно (припоминаю что вечно кто-то мусор заливал).

Сейчас же я работаю только под Windows и только в Visual Studio. Исходный код публичным я делать не хочу. Систему управления версиями хочу использовать только для порядка. Вот и вопрос, а может она мне и не нужна?

Знаю что в Visual Studio 2015 можно создавать локальный Git-репозиторий. Так же знаю что можно создавать бесплатные репозитории в Visual Studio Online. Не знаю что из них лучше, но я как-то больше склоняюсь использовать всё от Microsoft. Смущает только то, что в принципе мне не нужно хранить код где-то на сервере, а для этого нужно отдельно устанавливать себе Team Foundation Server. Потом ещё ищи как он там хранить всё будет, чтобы делать себе резервные копии и восстанавливать в случае переустановки операционной системы. А использовать если их Visual Studio Online, так там чёрт ногу сломает: куча настроек, всякие Agile, Scrum, права доступа и ещё хрен знает что.

Цель: Получить опыт практической работы с системой контроля версий на примере AnkSvn для Microsoft Visual Studio 2010.

Указание к выполнению.

Задание №1

Разработчик А:


1.Создайте новый проект Visual Studio: Пуск® Все программы ® Microsoft Visual Studio 2010 ® .

2. В меню File выбрать команду New-Project.

3. В открывшемся окне New Project в списке Visual C++ выбрать сначала тип приложения –CLR, затем вид приложения – Windows Forms Application.

4. В поле Name ввести имя проекта – profitи вставить галочку “Add to source control”, далее нажать OK.


Примечание: Если вдруг забыли поставить галочку то выполните следующие действие:1) щелкните правой кнопкой мыши на решение в обозревателе решений (Solution Explorer).2) Выберите пункт "Добавить Решение Subversion" (Add Solution to Subversion).


Через некоторое время вы заметите Solution Explorer выглядит немного по-другому, в принципе вы создали папку в Subversion для хранения вашего проекта, и вы обновили вашу рабочую копию путем добавления файлов в решение, обратите внимание на синие символы плюс (+ ) на файлы в обозревателе решений.


6. Правой кнопкой мыши нажмите на узел решения в обозревателе решений и выберите пункт "Выполнить решение изменения"'Commit Solution Changes'



Через некоторое время фиксации будет завершена, и вы увидите файлы в обозревателе решений, имеют синий флажок, это показывает, что одни и те же местах, как они находятся на Subversion Server.


8. ЗакройтеVisual Studio 2010.

9. Зайдите на Мои документы \Visual Studio 2010\Projects вы увидите сохранённый свой проект.


11. После чего появится диалоговое окно фиксаций, где необходимо поставить галочку в и нажать кнопку ОК.

12. После нажатия на кнопку ОК появится диалог авторизаций. Введите свои данные и нажмите кнопку ОК.

Разработчик В:

13. Создайте на рабочем столе папку для обновления вашей рабочей копии.

15. После чего у вас должно появится диалог авторизаций. Введите свои данные и нажмите кнопку ОК.

16. Откройте совместный проект.

17. В Solution Explorer откройте папку Header Files и нажмите на форму Form1.


18. В панели Toolbox щелкните на значке Texbox (Поле ввода). Поместите курсор в окно формы, а затем перетащите его 2 раза. В итоге у вас должно получится два поле для ввода.


Каждому добавленному компоненту среда разработки присваивает имя, которое состоит из названия компонента и его порядка номера. Например, первый добавленный на форму компонент Texbox получает имя texbox1, второй – texbox2. Путем изменения значения свойства Name можно поменять имя компонента.

19. Аналогичным способом перетащите объект Button (Кнопка). И три объекта Label (Текст).

В результате вы получите примерно следующий рисунок:


20. Правой кнопкой мыши нажмите на узел решения в обозревателе решений и выберите пункт "Выполнить решение изменения" 'Commit Solution Changes'.

Разработчик А:

21. Откройте совместный проект.

22. Правой кнопкой мыши нажмите на узел решения в обозревателе решений и выберите пункт «Update Project to Latest Version».

23. Выберите объект Label1 (надпись), щелкнув по нему мышью.

24. Правой кнопкой мыши откройте свойство объект Label1 на свойстве Text (категория Appearance) и удалите установленное по умолчанию значение. Введите нужный вам текст.

25. Проделайте аналогичное (пункты 10 – 11) для изменения надписи для кнопки (Button1) и текста (Label1).

26. Дважды щелкните на кнопке Расчет, которая отобразит пустую процедуру обработки событий. Наберите в теле процедуры команду:




Private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)

Читайте также: