Оглавление
Git – локальная работа: настройка
Включить интеграцию в настройках:
Локальная работа: публикация проекта с VCS
Инструмент разрешения конфликтов
Клонирование и работа с Remotes
Авторизуемся в командной строке
Git – установка
Установим Git локально и сделаем первые коммиты. Ссылки для установки Git:
https://git-scm.com/download/win
https://git-scm.com/download/mac
https://git-scm.com/download/linux
Для начала нужно будет установить Git: обычно для этого достаточно скачать установщик и выполнить инструкции. Если у вас Windows, понадобится перезагрузиться.
git ‐‐version
в терминале проверит, установлен ли Git.
Git – локальная работа: настройка
Локальная работа немного отличается от работы через GitHub. В целом есть три способа работы с контролем версий: Через командную строку. Через приложения с графическим интерфейсом. Через утилиты в IDE (наш случай).
У PyCharm есть специальное меню для работы с контролем версий, но сперва работу с контролем версий нужно активировать.
Включить интеграцию в настройках:
В открывшемся разделе нажать Log In via GitHub. Это запустит предоставления доступа через OAuth.
Preferences (или Settings) ➡️ Version Control ➡️ GitHub.
Нажать «Авторизовать»
Ввести логин и пароль от GitHub.
Подтвердить нужные права.
Локальная работа: публикация проекта с VCS
Мы можем опубликовать проект в пару кликов. Посмотрим на этот способ, хотя у него есть и подводные камни: он сразу создаст коммит, а также добавит все файлы, которые сможет найти.
Шаг 0. Подготовим проект Создаем файл 'chapter1.html' с текстом:
Шаг 1. Активируем VCS VCS ➡️ Enable version control integration
Шаг 2. Добавим файлы в «отслеживаемые» Правая кнопка ➡️ Git ➡️ Add
Шаг 3. Сделаем первый коммит Git ➡️ Commit
Добавляем сообщение для коммита, затем нажимаем 'Commit'. 💡 Сообщение коммита (message) — хороший способ сообщить контекст вносимых изменений другим разработчикам, работающим над проектом, а также напомнить этот контекст себе в будущем. Полезная статья, как писать хорошие сообщения к коммитам: https://techrocks.ru/2019/12/02/writing-good-commit-messages/" target="_blank. Отдельный сайт на тему: https://www.conventionalcommits.org/ru/.
Шаг 4. Опубликуем проект Git ➡️ GitHub ➡️ Share Project On GitHub.
Пуш с VCS
Пора отправить наши изменения на сервер. Для этого используем команду Push. Вызвать команду мы можем через меню Git ➡️ Push.
Получение изменений через VCS
А что, если кто-то (или мы сами) обновили состояние удаленного репозитория, а теперь нам нужно обновить и локальные файлы? Для этого есть команда pull.
Pull (от англ. тянуть) — команда для извлечения и загрузки содержимого из удаленного репозитория и немедленного обновления локального репозитория. Перейдем к удаленному репозиторию на GitHub, изменим какой-нибудь файл, например chapter_1.txt, и сделаем коммит.
Теперь вернемся в PyCharm и сделаем Pull. Вызвать команду мы можем через меню Git ➡️ Pull.
После выполнения команды файлы будут немедленно обновлены. Однако, если вы уже изменили свой репозиторий или даже сделали коммит, операция pull не сработает, возникнет конфликт и нужно будет его разруливать.
Инструмент разрешения конфликтов
Внутри PyCharm есть встроенный инструмент разрешения конфликтов, но мы будем знакомиться с ним позже.
Клонирование и работа с Remotes
Что, если мы нашли классный проект и хотим его склонировать? Или у нас есть исходник учебного проекта и мы хотим забрать его к себе? Или что делать, если мы хотим продолжить работу на другом компьютере?
Клонирование
Откройте страничку проекта, скопируйте ссылку, затем используйте команду Git ➡️ Clone — она получит репозиторий и положит его в отдельную папку. И никаких архивов с кодом больше! 'URL' — откуда клонируется репозиторий. 'Directory' — куда клонируется репозиторий.
Но это не всё! Теперь наш локальный репозиторий связан с репозиторием в GitHub, так что, если этот проект был вашим, вы сможете сразу же сделать пуш. Но где эта связь записана и хранится?
Remotes
Remotes (от англ. удаленки) — список ваших удаленных подключений к другим репозиториям. Чтобы посмотреть список ваших подключений, вызовите ➡️ Git ➡️ Manage Remotes. В этом разделе можно:
Посмотреть, какие у нас удаленные репозитории .
Добавить новый удаленный репозиторий .
Заменить один удаленный репозиторий на другой.
Переименовать удаленный репозиторий.
Работа через терминал
Инициализация репозитория
git init
Добавление файла
$ git add chapter1.html — добавит файл
$ git add . — добавит все в текущей папке
Сделаем коммит
Атрибут -m или —message указывает на то, что дальше будет сообщение коммита. Именно оно и следует дальше в кавычках. Чтобы связать наш локальный репозиторий с репозиторием на GitHub, нам нужно будет авторизовать терминал, так как авторизация, которая была получена для VCS, не будет работать.
$ git commit -m "changed library because outdated"
Публикуем проект
С помощью терминала нельзя создать репозиторий на GitHub. Придется создать его вручную!
Получаем токен
Внимание: если вы используете Windows и у вас установлено приложение Git, вместо токена приложение появится и предложит вам авторизоваться через Github. В этом случае токен вам не пришгодится. 1. Переходим к https://github.com/settings/tokens (или 🦊 Кружок профиля ➡️ Settings ➡️ Developer settings ➡️ Personal access tokens).
Выбираем дату в 90 дней и ставим галочки (можно не вникать и поставить все). Нажимаем Generate Token, получаем токен. Копируем в надежное место.
Авторизуемся в командной строке
Выполните пуш ('git push').
git push
Если вы еще не авторизованы, прямо в терминале Git спросит ваше имя пользователя (введите имя пользователя), затем — пароль (не ведитесь, это обман, на самом деле ему нужен токен, а не пароль!).
После этого команда выполнится, а токен будет навечно сохранен в связке ключей. 💡 Помните, что однажды токен кончится и все шаги придется повторить снова!
Получаем коммиты с сервера
$ git pull