Этот файл представляет собой сводку тем, которые я рассмотрел в онлайн-курсе «Введение в управление версиями кода с помощью Git».

Что такое Гитхаб?

GitHub — это платформа для размещения кода для контроля версий и совместной работы. Это позволяет вам и другим пользователям совместно работать над проектами, где бы вы ни находились.

Что такое Гит?

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

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

Но…

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

Git не единственный в своем роде.

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

Разработчики могут просмотреть историю проекта, чтобы узнать:

  • Какие изменения были внесены?
  • Кто внес изменения?
  • Когда были внесены изменения?
  • Зачем нужны были изменения?

А Github — это просто платформа, которая заставляет других людей видеть коды вашего проекта, кто сотрудничает, и позволяет им использовать его для себя.

Теперь, я думаю, пришло время научиться использовать Git. Начнем 😎

Шаг 0: Установка

Скачать Git можно здесь. Вы можете выбрать операционную систему.

Для систем Windows Git Bash будет загружен вместе с Git. Вы можете использовать Git Bash для этого курса. Но в моем случае я буду использовать терминал, потому что моя операционная система — MacOS.

После установки введите эту команду в свой терминал или Git Bash:

git --version

Вывод должен быть примерно таким:

git version 2.34.1

🔗 Если вы загрузили Git до того, как ваша версия устарела, вы можете обновить ее.

Вы можете увидеть команды git с помощью этой команды:

git --help

Шаг 1: Настройка Git

Сначала нам нужно познакомиться с Git. Мы должны сообщить ему, какая учетная запись вносит эти изменения, создает новые проекты или клонирует репозитории.

git config --global user.name "YourGithubUserName"
git config --global user.mail "YourEmailAdressForGithub"

Чтобы увидеть наши учетные данные для Git:

git config -l

Шаг 2: Git-инициализация

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

git init .

При этом создается новый подкаталог с именем .git, содержащий все необходимые файлы репозитория — скелет репозитория Git.

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

ls -a #list hidden files

Вывод должен быть таким:

.    ..    .git

Вы удаляете файл .git следующим образом:

rm -rf .git

В основном папка проекта больше не является репозиторием git. Вы должны снова инициализировать эту папку.

Шаг 3: Добавить Git

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

git add .

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

Вы можете проверить статус ваших файлов с помощью этой команды:

git status

Вывод покажет вам вашу ветку, неотслеживаемые и отслеживаемые файлы.

Если вы хотите удалить добавленный файл:

git rm --cached <filename>

Если вы хотите удалить все добавленные файлы:

git rm -r --cached .

📌 Как будет работать git, если мы зайдем в папку внутри папки проекта?

В этом случае git будет работать только с файлами внутри этой папки.

git add -A 
# adding all the files include outside of the current folder, in project folder

Шаг 4: Git-коммит

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

git commit -m "YourCommitMessage"

Если вы хотите просмотреть журналы фиксации или конкретную фиксацию, введите следующие команды:

git log
git log --oneline # clean log
git show <CommitHash>

Если вы хотите увидеть разницу между коммитами:

git diff

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

git commit --amend -m "NewCommitMessage"

С помощью этой команды вы не делаете новый коммит, вы меняете существующий последний с новым сообщением коммита.

Мы создали проекты и позволили git отслеживать их. Так что это на нашем локальном компьютере, но все может случиться. Мы можем удалить его, или наша система может перезагрузить себя. Мы также должны поместить их в удаленный репозиторий. Вот где Github вступает в уравнение. Чтобы люди могли видеть ваши проекты, и сейчас это изменилось, а также вы можете найти свой проект, когда потеряли свои локальные файлы. У нас есть репозиторий на наших локальных машинах, нам просто нужно загрузить их на Github.

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

Перейдите в «Настройки» > «Настройки разработчика» > «Личные токены доступа» и нажмите «Создать новый токен» справа вверху. Это будет приветствовать вас. Следуйте инструкциям, и вы получите свой личный токен доступа.

Вы можете использовать его, когда вы попросили предоставить свои учетные данные Git, а не использовать свой пароль.

Шаг 5: Git Push

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

git push

Этого было бы достаточно, но когда вы работаете в другой ветке, вам может понадобиться более длинная команда. Мы вернемся к этому позже.

Шаг 6: Git Pull

Если кто-то внес изменения в ваш репозиторий, и вы не видите их в своем локальном проекте. Вы должны тянуть изменения.

git pull

Шаг 7: Ветви

Однажды несколько человек будут работать над одним и тем же проектом. Мы не можем ожидать, что все будут работать над основной веткой. Все изменения могут стать сложными для понимания и обработки. Для этого есть ветки.

Создайте новую ветку:

git branch <BranchName> # create branch
git checkout <BranchName> # switch to that branch
git checkout -b <BranchName>

С помощью последней команды вы можете создать и перейти к этой ветке одновременно.

git branch -r # remote branches
git branch -a # all branches including remotes
git checkout - # switch to the branch that before this one

Предположим, вы или кто-то еще внесли изменения в новую ветку, отличную от основной. Вы не сможете увидеть эти изменения в основной ветке и на Github. Человек, внесший эти изменения, должен отправить свои коды в основную ветку. Но, конечно, владелец проекта должен сначала просмотреть изменения, а затем одобрить слияние с основной веткой.

Чтобы отправить коммит из другой ветки:

git push -u origin <CurrentBranchName>

После этой команды вы не увидите изменений в основной ветке. Новая ветка отправится на Github для проверки и утверждения владельцем.

Шаг 8: Удаление ветки

git checkout -b will-be-deleted
git branch -d will-be-deleted

Чтобы нажать новую ветку:

git push --set-upstream origin <BranchName>

Шаг 9: Git Pull Requests

Запрос на вытягивание — это событие в Git, когда участник просит сопровождающего репозитория Git проверить код, который он хочет объединить в проект.

Вы что-то изменили, но, конечно, это не может просто так слиться с основной веткой. Прежде всего, владелец проекта/репозитория должен дать разрешение на слияние с основным кодом. Для этого вы открываете запрос на вытягивание и сообщаете им, что хотите что-то изменить с пояснительным сообщением коммита. Если ваш запрос принят, ваш код может быть объединен с основным кодом владельцем репозитория.

Шаг 10: Конфликты

Конфликты могут возникать, когда несколько человек вносят изменения в одну и ту же ветку. Если есть конфликт, вы не можете отправить свой код на main. Git выдаст ошибку о конфликтах, которые вы должны решить в первую очередь. Это просто. В VS Code вы можете довольно четко увидеть конфликты. Все, что вам нужно сделать, это удалить ненужные изменения и сохранить нужные. Затем вы можете нажать свой код.

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

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

Это был просто ресурс, который я подготовил, так как я давал этот курс онлайн раньше. Вот я и подумал, почему бы не поделиться этим со всеми. Возможно, я скоро где-нибудь добавлю сюда ссылку на видео с YouTube 😎 Надеюсь, она будет для вас поучительной. Если вы что-то хотите, чтобы я узнал, дайте мне знать в комментариях 😉

Вы ДОЛЖНЫ проверить это.



Отличная документация — это лучшее, что есть evaaa 🥳 🤩 Создатели предоставляют вам бесплатный доступ к чему-то действительно полезному и великолепному — это замечательно в сообществе с открытым исходным кодом. Используй как хочешь 😇