Введение

Google Doc - это серверный (онлайн) текстовый процессор. Файлы пользователя создаются через веб-браузер и хранятся на сервере. Это программное обеспечение позволяет пользователям обмениваться документами с другими для совместной работы. Обычно рабочий процесс следующий:

  • Создайте документ и заполните его содержимым.
  • Сохраняйте контент и делитесь файлом с другими для совместной работы.
  • Члены вносят свой вклад в один и тот же документ в Интернете.

Помимо обмена файлами, еще одной важной функцией является возможность отмены или повторения изменений, внесенных в «главный» файл. Изменения, вносимые в документ, являются последовательными, и любой пользователь может отменить (или повторить) эти изменения.

Но это может быстро превратиться в большой беспорядок, особенно когда несколько пользователей одновременно добавляют или редактируют контент. Кто создавал или изменял какой контент и по какой причине - неизвестно.

Атом, Git и GitHub

При разработке программного обеспечения инструменты для совместного программирования включают текстовый редактор, систему контроля версий и онлайн-репозиторий.

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

Git - это инструмент для выборочной записи истории сохраненных изменений вашего проекта. Это способ «управления» всеми различными версиями вашего программного проекта.

GitHub похож на ваши Документы Google, за исключением того, что вы можете создать и сохранить свою версию кода в автономном режиме, прежде чем "отправить" ее для сохранения в Интернете.

Итак, у вас есть текстовый редактор ( Atom ), система контроля версий ( Git ) & удаленная система хранения файлов ( GitHub ). Это основные элементы, которые решают проблему сотрудничества, особенно для разработчиков программного обеспечения. Рабочий процесс аналогичен использованию Google Docs с некоторыми отличиями.

Рабочий процесс совместной разработки программного обеспечения

  1. Создание онлайн-( удаленного ) репозитория GitHub ( https://github.com/new )

2. Создайте автономный ( локальный ) репозиторий. Команда терминала git init имя_проекта запускает ваш проект, создание папки для хранения ее содержимого и файлов контроля версий для хранения истории ее изменений

  • Идея состоит в том, чтобы в конечном итоге получить удаленную и локальную копию вашего проекта.

3. Используйте текстовый редактор для создания контента. Здесь вы начинаете писать свою программу с помощью Atom и создавать файлы JavaScript.

4. Сохраните содержимое и обратите внимание на значительный исторический прогресс в вашем проекте. Команда терминала git add. добавляет все содержимое папки, все изменения, для фиксации в истории. Команда git commit -m ‘message’ фиксирует изменения в истории вместе с сообщением, объясняющим сделанные изменения. Команда git push отправляет ваши файлы и исторические данные в удаленный репозиторий.

  • Поскольку вы постоянно добиваетесь прогресса в своем проекте, вы записываете обоснование каждого этапа разработки (git add, git commit, git push).

5. Делитесь файлом с другими для совместной работы. Когда в вашем удаленном репозитории появится контент, вы можете поделиться своим проектом с соавторами.

  • После того, как участники примут приглашение, они могут создать ветвь удаленного репозитория и клонировать проект локально (git clone ‹URL-адрес репо или ssh› ).

  • Каждый соавтор может создавать контент, сохранять контент и отправлять его в свою удаленную ветку.
  • По мере того, как соавторы продолжают создавать и сохранять свой контент, они в конечном итоге создают вилки в «небе» GitHub (git add, git commit, git push ).

  • Каждая вилка представляет собой соавтор, ответвляющийся от исходного проекта, так что участники могут работать параллельно с создателем, не мешая друг другу. Каждый раз, когда соавтор выполняет git push, вилка удлиняется.

6. Объединение разветвленных файлов. По запросу соавторов создатель может потянуть их ветку для слияния с главной ветвью.

  • Когда соавтор отправляет запрос на перенос, создатель может выполнить git pull, чтобы объединить ветки в единую обновленную версию проекта. Затем эту новую версию можно поместить в удаленное хранилище для всеобщего обозрения и использования.

Контроль версий и обмен файлами

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

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

Это было бы непросто без контроля версий Git и общего доступа к файлам на GitHub. Простая команда терминала (git branch ‹ branch_name ) может взять клон на локальном компьютере и создать ветку, чтобы можно было разработать другую версию проекта. Затем пользователь может отмечать свой прогресс (git add & git commit) в любой момент времени. Если с активной версией возникли какие-либо проблемы, пользователь может просто переключиться на предыдущую ветку (git checkout ‹ branch_name ) и продолжить оттуда.

В этом смысл контроля версий. В любой момент пользователь может переключиться на альтернативные версии проекта, делая при этом понятные заметки, объясняющие развитие каждой версии. Пользователь имеет полный контроль над разрабатываемыми версиями. Простая отправка через терминал в «облака» GitHub делает любую версию доступной для их сотрудников. В этом сила использования Git и GitHub в совместной разработке программного обеспечения.

Ссылки: