Встпуление в серию коротких уроков по системе управления версиями Git. Основные понятия: Repository - Хранилище всех файлов с историей их изменений. Working Directory - рабочая директория проекта, где происходят все изменения в файлах. Stage - Сцена (доска) - подготовленная к отправке в историю. History - История изменений - хранятся все снимки (Snapshot) изменений версий проекта. Server - Внешний сервер для удалённого хранения файлов для многопользовательского доступа.
Дата отправки отчёта:
17 января 2017 г.
Задание выполнено: за
10 мин.
Чему научился:
Повторил пройденное
Что было сложным:
найти время
Комментарии:
Очень много лет назад первый сурсконтрол был svn, но у него был большой недостаток, плодил в каждой папке проекта свою папку .svn и т.д. неудобствами, позже, тоже уже не мало лет прошло, как начал пользоваться git, он понравился скоростью работы и созданием всего одной папки .git в корне. Спустя некоторое время вышла новая версия svn, в которой сделали так же как в гит, а именно одну папку в корне, но лично я не вернулся с git обратно, думаю многие тоже. Отличный и удобный сурсконтрол для управления версиями чего бы то нибыло. В основном лучше использовать его для контроля версий текстовых файлов, именно для этого он лучше всего заточен и подходит, хотя он поддерживает все форматы файлов, если не поддерживает, то определяет их как бинарные и тоже контролирует их целостность. По поводу картинки могу сказать, что она выглядит отлично, аналогии проведены верно. 1 - рабочая директория (стол) - это папка, в которой как минимум есть папка .git, говорящая о том, что все изменения внутри этой папки можно контролировать при помощи команд git. Локальная версия, очень часто использую для собственных, приватных проектов, любой из которых можно в любое время залить на сервер, чтобы его могли увидеть другие. 2 - Сцена (доска) - это текущий коммит, но который ещё не ушёл в базу истории, по сути его можно всегда отменить или изменить/дополнить (для этого существуют соответствующие инструменты/команды) т.е. если в 1 пункте это аналогия с вашим рабочим столом, на котором вы ваяете, то пункт 2 это аналогия доски, на которую вы крепите текущие готовые решения, дальше ковыряя и допиливая что-то ещё в пункте 1, периодически меняя или дополняя всё, что прикрепили на доске (пункт 2). Если ещё пороще, то пункт 2 это аналогия текстового файла в блокноте, вы что-то изменили, даже нажали Ctrl+S, но дальше его можете менять, опять нажимая Ctrl+S, при этом если что-то лишнее, нажали пару раз Ctrl+Z и потом Ctrl+S, но если вы закрыли окно блокнота, открыли его опять и открыли файл, который только что сохранили, комбинация клавиш Ctrl+Z уже работать не будет. Вот пункт 2 это более продвинутая версия блокнота, которая помнит, что вы делали последним и даёт возможность откатить или внести изменения в код, пока не отправите его в историю как готовое решение вашей мысли. 3 - История - это хронология изменений рабочей директории. Всегда можно посмотреть, что было сделано в том или ином файле проекта и кто это сделал, когда. Редактировать историю нельзя, но можно в любом момент откатить любой коммит, который попал в историю, а спустя время стало ясно, что он каким-то образом ложен, чтобы не переписывать вручную код обратно и коммитить по кругу, есть команда отката изменений, она учитывает изменения внесённые до того коммита, который хотите откатить и если конфликтов нет, всё проходит гладко и красиво, если же есть конфликты, сообщает об этом, указывая места конфликта, которые надо устранить вручную. 4 - Сервер - я в основном использую официальный сервер git это Git Hub, по сути так и назвали этот курс, видимо потому что именно на его примере будут проводиться все манипуляции. Это удобный инструмент, если вы работаете в команде или просто хотите дать огласке ваш проект, чтобы найти единомышленников на просторе интернет, коих не мало. Если ваш проект заинтересует кого-то, он присоединиться к проекту, сделает копию вашего репозитория или свои копию и будет отправлять вам запросы на добавление изменений в коде, до того как добавить его предложенные изменения на Git Hub предусмотрена система обсуждений кода, если все вопросы исчерпаны, можете применить изменения и этот человек оставит свой след в вашем проекте. Очень удобная статистика, диаграммы и т.д. Есои вы ешё не используете никакого сурсконтрола - рекомендую.
Иван, воспользуюсь твоим фундаментальным вступлением и размещу его в описании к уроку. Предлагаю тебе участие в описание уроков, как с микрошахматами, но без слайдов. Чуствую, у тебя есть к этому все предрассылки. Хорошо?