February 3, 2021

Github для программиста

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

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

Хотите загрузить проект с сервера в локальную папку:

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

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

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

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

git init

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

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

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

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

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

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

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

git push имя_репозитория имя_ветки (ветка по умолчанию называется master)

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

git pull имя_репозитория имя_ветки 

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

git add имя файла

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

git push имя_репозитория имя_ветки 

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

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

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

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

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

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

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

git push имя ветка

Не пропустите ничего интересного и подписывайтесь на страницы канала в других социальных сетях:

Instagram

Яндекс Дзен

Telegram