Привет, друзья, Вы начинаете работать с системой контроля версий? Или просто хотите узнать о git? Не волнуйтесь, сегодня мы подробно расскажем об этом.
Что и зачем — Git и Github
Git — это система контроля версий. А что такое система контроля версий, давайте разберемся.
Представьте, что у вас есть какой-то проект, и вы хотите сотрудничать с другими людьми. Или представьте, что вы добавили новую функцию в свой проект, и теперь ваше приложение ломается, и оно не работает так, как работало раньше, и вы думаете,
О, было бы очень здорово, если бы я мог вернуться в прошлое, в ту кодовую базу, в которой работало мое приложение. Хотелось бы, чтобы такой способ существовал.
Поздравляем!!! Ваше желание исполнилось.
Благодаря системе контроля версий, которая помогает нам отслеживать и управлять изменениями в нашем проекте. Она помогает нам вести историю нашего проекта, например, в какой конкретный момент времени, какой человек сделал какое изменение, в каком месте проекта.
Итак, вы понимаете, что такое система контроля версий, а какая связь между Git и системой контроля версий? Git — это система контроля версий. Существуют и другие системы контроля версий, такие как SVN, TFS и т.д. Но мы используем Git, потому что он очень популярен, и в основном программисты, такие как вы и я, используют Git.
А что такое Github?
Github — это платформа, которая позволяет нам размещать наши Git-проекты/репозитории.
Подумайте о том же, что и о сервисе электронной почты. Вы ведь пользуетесь услугами электронной почты в повседневной жизни? Вы отправляете письмо через такие платформы, как Gmail, Outlook и т.д. Это некоторые платформы, которые предоставляют вам интерфейс для использования этой услуги — отправки электронной почты. Теперь соотнесите с этим Git и Github, вы используете Git с некоторыми другими платформами, такими как Github, Gitlab, Bitbucket и т.д.. Эти платформы позволяют нам размещать наши проекты на своем сайте, чтобы другие люди со всего мира могли делиться, смотреть, вносить свой вклад в наши проекты.
Вы поняли идею… правильно!
И ПОЧЕМУ мы используем Git и Github, ведь существует так много систем контроля версий (таких как CVS, SVN, Mercurial, Monotone и т.д.) и платформ (таких как Gitlab, Bitbucket и т.д.), потому что они так популярны на рынке. Все используют Git и Github, потому что это стандарты.
Вы поняли идею… правильно!
Базовый проект (шаги)
- Создайте репозиторий на сайте Github
- Создайте папку на вашем компьютере
- выполните команду
git init
в вашей папке - выполните команду
git remote add origin insert_https_project_link_here
для подключения репозитория Github к вашей текущей (локальной) папке - выполните команду
git remote -v
для просмотра всех удаленных ссылок. - Добавьте файлы в вашу папку, внесите некоторые изменения также
- выполните команду
git status
для просмотра изменений - выполните команду
git add имя_файла
илиgit add .
(чтобы добавить все в текущую папку) - выполните команду
git commit -m "your_message_here"
для фиксации файлов - выполните команду
git push origin master
для переноса локальных изменений в удаленный репозиторий.
Поздравляем!!! Вы создали свой первый репозиторий на Github
Теперь я перечислю некоторые основные понятия, которые вы ежедневно используете в работе с git.
Некоторые ключевые слова и понятия
Вам никогда не нужно становиться мастером Git и Github, прежде чем использовать их. Вам просто нужно иметь базовое представление о них, чтобы начать работу. В основном, в индустрии мы используем некоторые понятия, которые повторяются.
Репозиторий/repo: Это ваш проект на платформе или проект, над которым вы работаете.
Ответвление: Ветвь — это новая/отдельная версия основного репозитория. Существует главная ветвь, которая является первой или ветвью по умолчанию в репозитории. Допустим, я работаю над проектом, и еще 7 разработчиков работают над тем же проектом. Если все остальные работают в той же ветке, будет очень сложно поддерживать всю работу. Если я работаю над функцией под названием login feature, то я создам новую ветку, допустим feature/login, и буду работать над этой веткой, не затрагивая работу над другим кодом. Когда моя работа будет завершена, я объединю ветку feature/login с основной веткой.
Никогда не делайте коммит на главной или основной ветке, поскольку именно она
используется людьми, чтобы предотвратить любые казусы.
Толчок: Допустим, я завершил свою работу над логином (упомянутую выше), теперь мне нужно переместить мой локальный код в наш репозиторий. Для этого мы используем концепцию push, я выполню команду и перенесу свои изменения в ветку.
— feature/login — имя ветки
Примечание: Перед тем, как вытолкнуть свои изменения, мне нужно извлечь последний код из моей текущей ветки.
Pull: Допустим, я работал над своей работой над логином, а один мой друг также работает над функциональностью логина, и его часть заключается в улучшении пользовательского интерфейса. Он сделал свои изменения и выложил свой код в ветку feature/login. Теперь, если мне нужны его изменения, мне нужно вытащить его изменения из Git. И команда, которую я буду использовать, следующая
— feature/login — имя ветки
Слияние: Допустим, я завершил свою работу над функциональностью входа в систему, и теперь я хочу объединить ее с основной кодовой базой и предоставить возможность другим использовать мою функциональность. Для этого мне нужно объединить мою ветку с основной веткой или мастер-веткой.
Конфликт при слиянии: Допустим, я работал над файлом в своей ветке feature/login, а мой друг работал над тем же файлом. Мы оба вносим изменения в одну и ту же строку, когда я беру его код, то Git запутается, будет ли мой код на этой строке или код моего друга. Такая ситуация называется конфликтом. Мы решаем эту проблему, сообщая Git’у, чей код попадет в хранилище.
Основные команды Git
-
Проверить, установлен ли git на вашем компьютере
-
Инициализировать пустой Git-репозиторий в вашей папке
-
Чтобы просмотреть изменения или неотслеживаемые файлы в
проекте, который еще не был сохранен -
Постановка файлов на хранение
текущая папка)
-
фиксация файлов
-
Чтобы снять с уровня постановки или удалить файл с уровня постановки
-
Для просмотра всей истории проекта
-
Удаление фиксации из истории проекта
(все коммиты или изменения до этого вернутся в
в область без постановки) -
После того, как вы поставили несколько файлов, но затем хотите иметь
чистую кодовую базу или повторно использовать эти файлы позже, мы можем
сохранить эти изменения, чтобы вернуться к коммиту до того, как
они были поставлены -
Вернуть эти изменения или извлечь их из
тайника -
Очистить изменения или файлы в вашей корзине.
Как работает Git
-
Подключение удаленного репозитория к локальному репозиторию
-
Передача локальных изменений в удаленный репозиторий
и мастер ветки)
-
Чтобы просмотреть все ваши удаленные URL
-
Перемещение в другую ветку
-
Слияние вашей ветки с основной частью проекта
Если вы все еще чувствуете, что застряли или запутались, не волнуйтесь,
Посмотрите видео, которое прояснит ваши понятия.
Полный самоучитель по Git и GitHub — Кунал Кушваха
Следуйте этому очень полезному PDF-файлу, чтобы узнать все необходимые команды.
Шпаргалка по Git Образование