Cистемы контроля версий и Github
- Устанавливаем GIT
- Проверяем что git установился успешно
- Подключаем visual studio проект к git
- Регистрируемся на github
- Создаем проект на github
- Как жить дальше
Системы контроля версий (на языке потенциального противника Version Control System или очень часто встречающиеся сокращение VCS), позволяют контролировать изменения в файлах, фиксировать состояния программы (аналог создания папки), и в случае необходимости откатываться, более того в любой момент можно глянуть посмотреть, как оно было раньше. Ну и не менее если даже не более важно, это то, что vcs позволяет организовать безболезненную работу над проектом сразу нескольких человек.
Надо понимать, что vcs в первую очередь сделаны для отслеживания изменения в текстовых файлах (код программ полностью попадает в эту категорию, то что он, например, хранится в MainWindows.cs, не делает этот файл чем-то особенными, это все еще просто файл с текстом). Отслеживание идет на уровне строк.
Как следствие использовать контроль версий для docx файла так же эффективно, как и для текстовых файлов не получится. Так как docx-файл представляет собой бинарные данные, то любое изменение в файле будет восприниматься системой, как полное изменение файла. При наличии некоторого навыка это все равно удобнее чем создавать копии документа на каждый чих. Говорят, у фотошоперов есть свои системы контроля версия специально под psd форматы, но то мне не ведомо.
Сама по себе vcs представляет собой консольное приложение, которое необходимо поставить себе на компьютер и добавить в PATH (делается обычно прям при установке).
Самая популярная система это git
есть еще достаточно распространенный mercurial
и все еще живой Subversion (или сокращено SVN)
SVN предлагает немного другой подход к организации версирования, но в целом проиграл технологическую гонку с git и mercurial. Так же стоит знать, что, если вы вдруг будете искать работу и там будут требовать знание SVN бегите от этой вакансии как от огня, с вероятностью 95% там будет код на древних технологиях, и скорее всего недостаточно компетентные коллеги.
Устанавливаем GIT
Мы будет работать с git. Поэтому будет его и ставить
Идем сюда: https://git-scm.com
и качаем:
устанавливаем:
ставим галки:
далее
потом нам предлагают редактор по умолчанию (нам скорее всего не принципиально):
но по умолчанию там стоит vim, это очень своеобразный текстовый редактор, уже десятилетиями поднимается вопрос как выйти из vim https://tproger.ru/news/how-to-exit-damned-vim/, так что наверное имеет смысл поставить какой-то другой. Я, например, люблю sublime, но чет он у меня в списке не выбирался, поэтому я указал путь к нему явно:
если что-то не будет работать, это всегда можно будет поменять. Далее ничего не меняем:
и ждем
ок:
Проверяем что git установился успешно
Жмем Win+R
вводим cmd и жмем Выполнить, откроется консолька, введем в ней
git --version
должны увидеть что-то в этом роде
Если все так значит вы успешно установили git.
Кстати, чтобы не возвращаться к этому моменту, потому что я не помню в какой момент это может помешать, запустите консольку и пропишите сразу настройки гита
git config --global user.name "your_username"
git config --global user.email "email@yandex.ru"
ну и понятно, в your_username укажите, свое именование и свою почту.
Подключаем visual studio проект к git
Дело не хитрое, открываем проект, и кликаем сюда:
собственно, и все, можно сходить в папку с проектом:
- папка .git – тут собственно будет хранится отслеживаемые изменения и всякая о метаинформации, обычно нет необходимости лазить в эту папку
- .gitignore – тут указывается какие файлы не надо включать в отслеживание версий, например обычно не включают *.exe файлы, иногда имеет смысл в нем что-то поправить
- .gitattributes – всякие специфичные настройки для файлов, например можно явно отметить какой-нибудь файл как бинарный, и система контроля версия перестанет его отслеживать
вернемся в студию, посмотрим в обозреватель решения:
теперь если в каком-нибудь файле чего-нибудь поменять, я, например, решил подправить MainWindow.xaml.cs
можно нажать правой кнопкой на файл, и узнать, что именно изменилось:
у меня какая-та старая версия проекта открылась, но суть не меняется, слева то, что было, справа – то что стало:
чего-нибудь еще поменяв, допустим:
ну и собственно самое важное, фиксирование изменений. То есть устанавливаем точку от которой будут отсчитываться последующие изменения. Делается это очень просто.
Кликаем правой кнопкой на любой файл и выбираем зафиксировать:
видим открылась странная вкладка
пишем, например:
Убрал старый код, поправил комментарии
и фиксируем:
появится что-то вроде:
что будет свидетельствовать что все ок.
Внизу появится сообщение:
пока проигнорируем его.
Переключимся на обозреватель решений и увидим, что все файлы помечены замочком, что означает, что изменений относительно последней фиксированной версии нет.
Можно сходить посмотреть историю изменений каждого файла:
любую версию можно открыть и изучить что же там было.
Кстати этот Добавьте файлы проекта. – это первая фиксированная версия, которую студия создала на автомате когда мы нажали кнопку Добавить в систему управления версиями. Ну и судя по всему это «надмозг» перевод фразы с инглиша на русский Add project files. Короче они там тоже не очень по нашему =)
Регистрируемся на github
Github – крупнейший сервис для хранения проектов для разработчиков. Наличие активного аккаунта на нем +100 баллов при прохождении собеседования на программиста. Потому что
- раз – значит, что вы умеете в git
- два – вы увлечены программированием
- три – можно сразу посмотреть как вы пишите код [хотя может оно лучше и не надо >_>]
если же вы очень-очень стесняетесь своего кода, то можно делать приватные репозитории
Короче регистрируемся https://github.com, сначала важно выбрать себе имя.
для моих тестовых целей, все были уже заняты >_>
короче разобравшись с именем, попадем сюда, надо нажать кнопку Verify
поставить лошадку на ноги
и нажать Done, затем выбрать бесплатный план и нажать Continue
потом чего-нибудь ответить:
Отлично все сделано!
Создаем проект на github
Идем на главную страницу, которая будет выглядеть как-то так и жмем на ней кнопку New Repository (всякий git-проект принято называть репозиторий)
да елки-палки
идем на почту и подтверждаем:
ок, теперь нас снова сюда отправили
снова жмем New Repository, и снова придумываем имя (╯°□°)╯︵ ┻━┻ Так как проект у нас по сути уже есть остальные галки не трогаем, по желанию можно заполнить поле Description
короче нажав Create repository, попадаем сюда:
Это абсолютно пустой репозиторий, тут описано чего-надо сделать на своем компьютере чтобы связать локальную и сетевую версию.
копируем уникальный адрес нашего репозитория
идем в студию, переключаемся на вкладку Team Explorer и тыкаем по инструкции
открываем узел Отправить в удаленный репозиторий и тыкаем Опубликовать репозиторий Git:
жмем опубликовать
откроется окошко:
вводим свои данные, тыкаем Login и ждем.
Сигналом что все завершилось успешно, будет 0 в строке статуса:
теперь можно сходить на github.com, выбрать свой проект:
и полюбоваться его содержимым
Как жить дальше
Теперь когда вы развернули проект, надо запомнить процесс разработки с системой контроля версий:
1. Вы делаете изменения в коде, затем фиксируете их
2. Затем вы вводите сообщение об изменениях, которые вы хотите зафиксировать
3. Вы отправляете изменения на github, нажимая синхронизировать
сначала тут
а потом тут:
либо попадая на эту же страницу, так:
Собственно так и жить. Только теперь вам не страшно что-то сломать, нет необходимости копировать папки, и вы можете отслеживать динамику изменения своего кода.