GIT ваш код включен!

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

Оглавление:

  • Введение в Гитхаб.
  • Основные команды Git.
  • Заключение.

Введение в Github:

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

Основные команды Git:

  • Команды учетных данных пользователя:

git config --global user.name "enter username":
Устанавливает имя пользователя для кредита при просмотре истории версий git.

git config --global user.email "enter email":
Устанавливает адрес электронной почты пользователя при просмотре истории версий git.

  • Загрузка нового репозитория:

git clone(HTTPS):
Обмен данными по веб-протоколу. Позволяет клонировать онлайн-репозиторий с использованием HTTPS. Здесь мы клонируем проект open_weather_app из Github, используя HTTPS, в наш текущий локальный каталог. Одна из причин, по которой это может пригодиться, заключается в том, что с меньшей вероятностью он будет заблокирован вашим брандмауэром. Он обеспечивает быстрый способ загрузки репозитория, который вам нужен.

git clone(SSH):
использует уникальный и длинный ключ аутентификации. Сложность ключа затрудняет утечку и не может быть скомпрометирована во время утечки данных, что делает его более безопасным в долгосрочной перспективе. Хотя использование SSH требует некоторой предварительной настройки, оно позволяет пользователю мгновенно подключиться к удаленному репозиторию, из которого изначально был клонирован проект.

  • Создание нового репозитория в командной строке:

git init
Инициализирует файл вашего проекта.

git add {filename} OR git add .
Также известно как «подготовка файла(ов)» для фиксации. Добавляет имя файла, который вы хотите включить в фиксацию для загрузки в ваш репозиторий Github. . в git add . означает, что вы хотите, чтобы все ваши файлы были добавлены в вашу фиксацию. Пожалуйста, имейте в виду, что нельзя включать {} вокруг имени файла.

git rm {filename} ИЛИ git rm .:
В качестве альтернативы удаляются файлы, которые необходимо зафиксировать в вашем репозитории Git. . в git rm . означает, что вы хотите, чтобы все ваши файлы были удалены из вашей фиксации. Пожалуйста, имейте в виду, что нельзя включать {} вокруг имени файла.

git reset {filename}:
Удаляет файл, но сохраняет изменения, которые вы сделали в текущем рабочем каталоге. Пожалуйста, имейте в виду, что нельзя включать {} вокруг имени файла.

git commit -m "first commit"
Подготовьте (настройте) ваши файлы, которые вы хотите загрузить в свой репозиторий Github. Вы также можете написать любой комментарий, где написано «первый коммит». Идеальный вид комментариев будет касаться того, что вы сделали с этой текущей загрузкой, изменили или намеревались сделать с этим новым толчком.

git branch -M main
Позволяет проверить, к какой ветке вы подключены в вашем репозитории. Мы расскажем, что такое ветка, позже.

git remote add origin {url}
Здесь вы укажете URL репозитория, в который вы пытаетесь загрузить файл проекта. В приведенном выше примере URL имеет вид [email protected]:ra1993/project_3.git
Пожалуйста, имейте в виду, что не следует включать {} вокруг URL.

git push -u origin main
И вот! Эта команда вытолкнет ваш коммит из его промежуточной области и отправит его в указанный вами онлайн-репозиторий.

  • Отправка изменений в существующий репозиторий:

git remote add origin {url}:
Здесь мы устанавливаем URL-адрес репозитория, куда мы хотим загрузить наши изменения. Помните, что не следует включать {} вокруг URL-адреса.

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

git push -u origin main:
Отправьте изменения в свой репозиторий!

  • Просмотр и сравнение журналов или информации об объекте:

git log:
Показывает историю коммитов для текущей ветки. Каждый коммит содержит любые изменения/обновления, которые вы сделали в своем локальном репозитории до или после того, как он будет зафиксирован и отправлен в ваш удаленный репозиторий.

commit:
показывает ваш идентификатор фиксации. для каждого из ваших коммитов на протяжении всей истории ветки, в которой вы находитесь.

Автор:
указывает имя пользователя и адрес электронной почты, связанные с отправкой коммита.

Дата:
дата и время отправки фиксации.

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

HEAD -> main, origin/main, origin/HEAD):
Указывает, на какую фиксацию вы настроены. Вы можете изменить свою фиксацию на предыдущие, если планируете внести какие-либо изменения или хотите вернуться к предыдущей версии ветки.

git status:

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

На главной ветке:
Указывает, к какой ветке мы подключены в нашем репозитории.

Ваша ветка обновлена ​​с помощью «origin/main»:
Указывает, что ваша локальная ветка (на вашем компьютере) и удаленная ветка (репозиторий GitHub) указывают на один и тот же коммит. Эта общая фиксация имеет текущий статус совпадения для каждого файла в обоих репозиториях.

Изменения, не подготовленные для фиксации.
Указывает, что вы не зафиксировали никаких новых изменений, внесенных в файлы в вашей области подготовки. В этом случае изменения, внесенные в мои файлы g_drive.py и main.py, а также удаление моего py_drive.py не были зафиксированы в моей текущей промежуточной области.

Файлы без отслеживания.
Сообщает, какие файлы не отслеживаются git. Общее правило, когда вы думаете о том, какие файлы вам нужно добавить в репозиторий git, заключается в том, что этот файл нужно редактировать в вашей среде IDE. Эти файлы могут включать в себя, помимо прочего, сценарии/файлы кодирования, установочные файлы, файлы txt и т. д., в отличие от файлов, которые вы, возможно, не захотите загружать, которые могут быть наборами данных, ключами API и т. д. Прямо сейчас есть недавно созданный py_drive_dir созданный мной каталог, который не отслеживается. Вы можете добавить py_drive_dir с git add py_drive_dir или git add ..

Как только вы снова запустите git status, вы увидите, что git распознает новые изменения, которые необходимо зафиксировать для вашего следующего нажатия. Теперь мы видим, что g_drive.py и main.py готовятся к следующему пушу.

Отделение и слияние:

git branch:
Список всех веток в вашем репозитории. Звездочка указывает, к какой ветке удаленного репо вы подключены в данный момент.

git branch {branch_name}:
Создает новую ветку в вашем текущем коммите. Пожалуйста, имейте в виду, что нельзя включать {} вокруг названия ветки.

git checkout {branch_name}:
Позволяет переключиться на другую ветку в вашем удаленном репозитории. Пожалуйста, имейте в виду, что нельзя включать {} вокруг названия ветки. Здесь мы переходим от основной ветки к ветке_2.

git fetch:
Загружает новые коммиты, файлы и обновления из удаленного репозитория. Это удобно, когда вы пытаетесь увидеть, над чем работают другие, и есть ли у них какие-либо конфликты с текущей рабочей веткой.

git merge OR git merge {branch_name}:
Объединяет текущую или выбранную историю ветки с вашим локальным репозиторием в одну ветку. Необходимо убедиться, что принимающая ветвь и объединяющая ветвь обновлены. Слияние включает изменения из обоих коммитов. Это также помогает избежать любых конфликтов слияния, помечая их и запрашивая у пользователя разрешение на то, как действовать с конфликтами слияния.

git pull:
представляет собой комбинацию git fetch и git merge. Он извлекает обновления из удаленного репо, а затем объединяет новые обновления с вашим текущим репо.

Вывод:

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