Найти в Дзене
Квантовый скачок

Программирование проектов с разных устройств с Git

С ростом доступности информационных технологий у многих из нас появляется по несколько электронных устройств. При этом в зависимости от ситуации приходится работать то на одном из них, то на другом. В этих условиях особенную важность представляет синхронизация результатов работы на разных устройствах. Одним из вариантов решения проблемы является постоянное ношение с собой флеш-накопителя, сохранения и выгрузки данных с него. Однако можно обойтись и без этого, если по-возможности осуществлять работу в облачных сервисах. Если же вы занимаетесь программированием, то могут понадобиться более продвинутые сервисы, позволяющие отслеживать изменения в заданных файлах, откатываться к прежним версиям, а также обновлять их состояния на сервере и в локальной папке. Расскажу как это сделать с системой управления версиями Git и сайтом Github. Предварительно устанавливаем Git на компьютер (для Ubuntu - apt-get install git, для Windows инсталляционный файл скачать можно здесь) и создаем аккаунт н
Оглавление

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

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

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

Расскажу как это сделать с системой управления версиями Git и сайтом Github. Предварительно устанавливаем Git на компьютер (для Ubuntu - apt-get install git, для Windows инсталляционный файл скачать можно здесь) и создаем аккаунт на сайте Github. Последующие действия определяются условиями, в которых вы находитесь:

Есть неотслеживаемый локальный проект, хотим его инициализировать для работы с Git и загрузить на сервер:

  • создаем репозиторий на сайте Github
  • на компьютере запускаем командную строку, переходим в папку с проектом и набираем команду:

git init

  • добавляем отслеживаемые файлы в папке командой:

git add имя (можно вызвать для каждого файла, задав имя, либо для нескольких - через шаблон, например, *.py)

  • фиксируем изменения командой:

git commit -m 'текст сообщения' (параметр m задается для текстового описания внесенных изменений);

  • добавляем удаленный репозиторий (в нашем случае на сайте Github) командой:

git remote add имя ссылка (например, ссылка на удаленный репозиторий - https://github.com/dtanalytic/custom_recom.git)

  • передаем данные командой:

git push имя ветка (для ветки, по умолчанию используется имя master)

Есть отслеживаемый локальный проект и хотим обновить его с сервера:

git pull имя ветка (для ветки, по умолчанию используется имя master)

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

git add имя файла

git commit -m 'текст сообщения'

git push имя ветка

Вместо первых двух команд, чтобы отдельно не индексировать отслеживаемые файлы перед фиксацией изменений, можно сделать это одной командой:

git commit -am 'текст сообщения'

Есть отслеживаемый локальный проект и хотим послать обновления на сервер:

Если кто-то вносил изменения до вас, то нужно сделать все так, как описано в п.2 В противном случае можно сделать так:

  • фиксируем все внесенные изменения командой:

git commit -am 'текст сообщения'

  • посылаем изменения на сервер:

git push имя ветка

Нет локального проекта, хотим загрузить проект с сервера:

Зайти в командную строку, перейти в папку для хранения локального проекта и набрать команду:

git clone ссылка_на_удаленный_репозиторий имя_папки_для_проекта