Тут есть несколько человек, которым интересно писать скрипты во благо нашего форума. Чтобы скрипты не потерялись, мы не запутались в версиях и всё было аккуратно, весь код хорошо хранить в системе контроля версий (source version control, SVC). Git - удобная система контроля версий, в этой теме небольшая инструкция по базовому использованию.
Хорошие и полезные гайды
...с первой страницы поиска гугла
https://habr.com/ru/articles/541258/ - про установку, настройку, базовую работу
https://proglib.io/p/git-for-half-an-hour - про то, что с помощью git можно делать
https://git-scm.com/book/ru/v2 - книга про гит, для тех, кто хочет погрузиться глубже
Установка
(можно прочитать тут git-scm Установка Git)
Перейти по ссылке https://gitforwindows.org/
Тыкнуть Download
Найти Git-(...)-64-bit.exe, скачать
Чтобы проверить, что всё установилось:
Открыть пуск, набрать `cmd`, открыть командную строку (альтернативно, нажать Win+R, в появившемся окошке набрать cmd)
Не пугаться терминала, набрать команду:
git --version
Если есть результат - всё установилось. Если нет - можно с вопросами в ЛС.
Основные понятия
Репозиторий - место, где хранится код. Это директория (или по-человечески папка), в которой лежат файлы с кодом и файлы с информацией для гита. Репозиторий синхронизируется между разработчиками для совместной работы.
Коммит - "снимок во времени" репозитория. Условно - фиксация текущей версии всех файлов. Примерно, как если создать отдельную папку "project_v69", но удобнее. Репозиторий хранит в себе также и историю коммитов.
Git - программа системы контроля версий, с помощью которой мы все это делаем. Также так называется сама система контроля версий.
Github - облако, в котором хранится репозиторий (файлы с кодом и мета-информация для гита)
Форк - копия основного репозитория на гитхабе
Pull request - запрос добавить изменения из вашего форка в основной репозиторий
Если что-то сейчас не понятно, просто читайте дальше - на практике легче разобраться.
Регистрация на гитхабе
Git - программа, с помощью которой управляем системой контроля версий. Github - облако, в котором хранится репозиторий.
Чтобы совместно работать над проектом, репозиторий выкладывают на github (или другой подобный сервис), разработчики отсылают туда свои коммиты.
Вот ссылка https://github.com , с регистрацией, думаю, сами разберетесь.
Начало работы
Открываем репозиторий на гитхабе: https://github.com/laitouaigre/castledoor
Тыкаем кнопку "Fork" - дальше "Create fork". Так мы создали свою копию репозитория, куда будем посылать изменения.
Тыкаем кнопку "Code", копируем ссылку вида git@github.com:<имя пользователя на github>:/castledoor
Открываем командную строку, переходим в директорию, где хотим хранить репозиторий, и "скачиваем" репозиторий с гитхаба к себе на компьютер.
Для этого нужно набрать в командной строке:
cd C:\Users\*имя пользователя*\Desktop\*имя папки на рабочем столе* git clone *скопированная с гитхаба ссылка* cd castledoor
Делаем коммиты
Чтобы сделать изменения в коде, открываем папку репозитория, создаем/удаляем/редактируем файлы каким угодно способом (например, в блокноте). Чтобы отправить изменения в свою версию репозитория, открываем в командной строке папку и используем команды git add и git commit -m "Название коммита". Важно, что команды git ... должны исполнятся в папке репозитория.
cd C:\Users\*имя пользователя*\Desktop\*имя папки на рабочем столе*\castledoor git add --all (если хотим добавить все файлы) git add README.md important_script.js (если хотим добавить только файлы README.md и important_script.js, ПРЕДПОЧТИТЕЛЬНЫЙ ВАРИАНТ) git commit -m "Информативное название коммита" (здесь постарайтесь в одном предложении описать, что сделали. Избегайте названий типа "Пофиксил баг" или "Новый код") git push
До команды git push вы можете добавить/удалить файлы в коммит (как это сделать - вне рамках гайда, но это легко найти в книге git, в начале на нее была ссылка), изменить название коммита и т.д. git push отправляет все изменения в ваш репозиторий на github.
Попробуйте изменить файл README.md. Добавьте заголовок
# Авторы
и впишите себя на следующей строчке. После этого добавьте файл в коммит и запуште.
Совместная работа
До этого момента мы никак не синхронизировались с основным репозиторием (кроме создания форка) и работали только с нашей локальной копией.
Чтобы чужие изменения не потерялись и не конфликтовали с нашими, перед тем, как отправлять коммит, нужно сделать следующее:
На гитхабе на страничке своего репозитория тыкнуть кнопку Sync fork, если она есть.
Сделать свои изменения, отправить коммит
Теперь, чтобы наши изменения видели остальные, нужно отправить Pull request - запрос слить ваши изменения с основным репозиторием, т.е. с тем, от которого делали fork.
На гитхабе открываем страничку основного репозитория: https://github.com/laitouaigre/castledoor
Нажимаем кнопку Compare & pull request
Пишем название и описание пулл-реквеста
Тыкнуть галочку Allow edits from maintainers
Тыкнуть кнопку Create pull request
Для практики попробуйте сделать это с коммитом из предыдущего шага.
Теперь, когда владелец основного репозитория проверит ваши изменения, он может добавить их в основной репозиторий.
Преимущество такого подхода в том, что он распределенный - то есть, в любой момент основным репозиторием может стать любой из форков.
На этом все, спасибо, что прочитали. Обращайтесь с любыми вопросами (но не факт, что отвечу).