Сегодня я хотел бы представить учебник по Git для начинающих с примерами. Здесь мы рассмотрим следующее
Что такое система контроля версий
В разработке программного обеспечения , системы контроля версий — это категория программных инструментов, которые помогают команде разработчиков (нескольким разработчикам, дизайнерам и членам команды) работать вместе над одним и тем же проектом и позволяют им управлять изменениями в компьютерных программах, документах, веб-сайтах и другой информации через time.
Система контроля версий хранит все изменения и предыдущие версии проекта. Чтобы команды могли отозвать определенные версии позже.
Контроль версий полезен, если вы инженер-программист или занимаетесь разработкой программного обеспечения.
Допустим, мы работаем над исходным кодом. в этом случае мы добавляем/редактируем/удаляемстроки кода. Каждый раз, когда мы вносим изменения и сохраняем файл, мы теряем предыдущие изменения. Отслеживание изменений с течением времени становится более сложным, когда мы работаем над большим проектом с несколькими файлами и несколькими разработчиками. Мы не только хотим записывать изменения, но также хотим записывать, кто внес изменения и когда.
Система контроля версий необходима для управления версиями на этом уровне.
Контроль версий — это технология, позволяющая разработчикам программного обеспечения контролировать версию фрагмента кода. Контроль версий помогает в сотрудничестве между разработчиками/пользователями, чтобы помочь им работать независимо над своими модулями, а также быть в курсе изменений, происходящих в других модулях проектов.
Безопасно иметь контроль версий при разработке программного обеспечения. Всегда рискованно разрабатывать без системы контроля версий, как и без резервных копий. С течением времени происходит значительная эволюция приложений, над которыми работают разработчики. Поэтому им необходимо иметь разные версии приложения, чтобы в будущем, если они захотят вернуть некоторые функции, они могли вернуться к предыдущей версии и выполнить запланированное поведение.
< strong>Типы систем контроля версий
Локальные системы контроля версий:
Файлы копируются в другой каталог (скорее всего, каталог с отметкой времени). Он не записывает и не хранит никакой информации о том, почему мы внесли изменения. Это довольно просто, но в то же время невероятно подвержено ошибкам. Эта модель будет работать, только если один человек работает над одним проектом.
Централизованные системы контроля версий:
Централизованная система контроля версий используется, когда несколько человек работают над одним и тем же проектом. Если один человек работает на компьютере А, а другой человек работает на компьютере Б, и оба работают над одним и тем же проектом, оба они могут проверить код. Но проблема этой системы в том, что если оба человека изменят код в одной и той же строке, то чей код будет обновлен в центральной базе данных, будет зависеть от того, кто добавил его последним.
Распределенные системы контроля версий:
В этой системе несколько человек, работающих на своих компьютерах над одним проектом, общаются с центральной базой данных, а также могут общаться друг с другом. Используя эту модель, все изменения, сделанные всеми, могут быть сохранены, и никакие данные не будут потеряны.
Что такое Git?
Git — одна из самых популярных систем контроля версий. Это одна из распределенных систем контроля версий. Это проект с открытым исходным кодом, совместимый со многими операционными системами и IDE.
Это позволяет нам отслеживать изменения в приложении, в папке или в одном файле с течением времени для разных пользователей и разных компьютеров. Git делает снимок всех файлов всякий раз, когда мы создаем новый коммит. Каждый коммиттер в проекте всегда имеет копию всего репозитория на своей машине. Таким образом, мы можем зафиксировать файловую систему Git и в автономном режиме.
Git был создан Линусом Торвальдсом в 2005 году для разработки ядра Linux, при этом другие разработчики ядра внесли свой вклад в его первоначальную разработку.
Установка Git
< p>Ознакомьтесь с этим пошаговым руководством по установке Git на компьютере с Windows.
После установки нам нужно сообщить Git, кто мы такие. Для этого нам нужно настроить Git, чтобы добавить имя пользователя или имя и адрес электронной почты. <р>Это нигде не используется для входа в систему. Это используется только для отслеживания того, кто внес какие изменения.
123 | git config –global user.name “Github_Username” git config –global user.email “Your_Email@Domain.com” |
Примечание. Замените Github_Usernameи Your_Email@Domain.com с учетными данными GitHub.
Что такое GitHub и зачем использовать GitHub?
GitHub — это облачный сервис хостинга репозитория Git. Он позволяет отдельным пользователям и командам совместно работать над проектами.
Git — это инструмент командной строки, тогда как GitHub поставляется с графическим веб-интерфейсом. <р>GitHub — это приложение, позволяющее хранить удаленные репозитории на своих серверах. Он также предоставляет удобную платформу для взаимодействия с вашими репозиториями и управления ими. Это общедоступная платформа, позволяющая миллионам пользователей делиться своими проектами со всем миром.
Основная цель состоит в том, чтобы позволить людям сотрудничать вместе для создания проектов. Но дело не только в сотрудничестве. Кроме того, его можно использовать в качестве портфолио для ваших лучших работ. Одна из самых полезных функций GitHub — возможность доступа к вашему репозиторию из любого места. Кроме того, это отраслевой стандарт для размещения репозиториев Git.
Git vs GitHub:
Мы узнали, что такое Git и что такое Гитхаб пока. Проверьте этот пост, где мы подробно упомянули разницу между Git и GitHub.
Жизненный цикл Git
Рабочий каталог: хранит все файлы проекта
Промежуточная область. Действует как промежуточная область хранения.
Репозиторий: содержит все зафиксированные файлы.
Прежде чем Git отследит изменение, он пройдет длинную цепочку операций и задачи. Многие из этих задач контролируются пользователем и необходимы для правильного отслеживания изменений.
Прежде чем двигаться дальше, давайте поговорим о репозиториях.
Что такое репозиторий в GitHub?
Репозитории, обычно называемые 'repos’, храните полную историю и систему управления версиями проекта. Они могут размещаться локально или на общем сервере, таком как GitHub. Большинство репозиториев хранятся на GitHub, в то время как основные участники делают копии репозитория на своем компьютере и обновляют репозиторий, используя систему push/pull. Любой репозиторий, хранящийся не локально, а где-либо еще, называется «удаленным репозиторием».
Прежде всего, извлеките всю информацию из удаленного репозитория и сделайте ее прямую копию на локальном компьютере.
Рабочий каталог — это ваш проект в его текущем состоянии и времени. Он содержит все ваши файлы и все в текущем состоянии. Допустим, вы создали новый файл (test.py) и написали в нем какой-то код. Итак, теперь вы хотите изменить или взять это, сделать снимок и поместить его в систему управления версиями.
Итак, после внесения изменений вы добавляете свой файл в тестовую область и фиксируете свои изменения. Commit просто делает снимок и помещает его в исходный код. Промежуточная область — это набор всех модификаций проекта, которые будут зафиксированы. Итак, после того, как вы добавите свой файл в промежуточную область и зафиксируете, вы поместите его в локальный репозиторий.
Итак, вы внесли кучу изменений и изменили локальный репозиторий. Теперь локальные и удаленные репозитории не совпадают. Теперь вы должны отправить его в удаленный репозиторий, и теперь они оба совпадают.
Как настроить учетную запись GitHub:
< р>1. Перейдите на https://github.com и зарегистрируйте учетную запись GitHub, используя имя пользователя, адрес электронной почты и пароль.
2. После того, как вы заполните свою информацию, вы увидите экран подтверждения учетной записи. Проверьте код и нажмите кнопку Присоединиться к бесплатному тарифному плану.
3. Теперь вам нужно заполнить другую информацию, связанную с опытом программирования, видом работы и т. д.
4. Теперь ваша учетная запись GitHub создана.
Как создать репозиторий GitHub
1. Перейдите на домашнюю страницу GitHub.
2. Нажмите «Создать репозиторий». Добавьте имя репо, описание, и вы можете выбрать Частный или Публичный. Вы не можете выбрать Private, если у вас нет платного плана.
3. А пока давайте инициализируем этот репозиторий «myrepo» с файлом README. Вы также можете добавить лицензию. Есть много разных лицензий для разных вещей. А пока давайте выберем лицензию MIT, потому что это лицензия, которая позволяет людям свободно распространять и копировать ее, как они хотят.
4. Так выглядит репозиторий. Есть куча вещей, которые мы можем видеть. Есть общее количество коммитов, затем у нас есть количество веток, количество выпусков, участников и лицензия.
5. В верхней части страницы есть множество других вкладок.
Проблемы:Проблемы могут быть помечены участниками. Любой, кто работает над вашим проектом, может найти проблему и перечислить ее. Что вы и другие участники можете сделать, так это просмотреть и найти эти проблемы, а затем попытаться исправить их. Так что это действительно полезная функция на Github.
Запрос на извлечение: запросить доступ для загрузки вашего проекта на их локальный компьютер.
Проекты: это просто куча управления рабочим процессом. Проектами можно управлять там же, где хранится код.
Вики:На самом деле это больше места для размещения чего-то вроде резюме. Это просто быстрое и краткое место для перечисления вашего проекта. Вы можете перечислить документацию по некоторым библиотекам приложений или другим вещам.
Аналитика. Аналитика позволяет увидеть множество различных функций вашего репозитория. Это похоже на Google Analytics или любую другую аналитическую программу. Сюда входят объединенные запросы на вытягивание, открытые запросы на вытягивание и множество различных показателей.
Настройки:В настройках мы можем изменить некоторые вещи в нашем репозитории. Вы можете изменить имя своего репо, удалить свой репозиторий. Вы можете пригласить сотрудников отсюда. Существует возможность переключения между ветвями по умолчанию и другими ветвями.
Основные команды Git:
1. git –help: Когда эта команда будет запущена в нашем терминале, Git предоставит список наиболее распространенных команд. Если за ним следует конкретная команда, вы получите полное подробное описание этой конкретной команды.
2. git конфиг:С помощью этой команды мы должны сначала установить имя пользователя и адрес электронной почты. Затем мы должны сообщить Git, как он должен обрабатывать окончания строк, возврат каретки и перевод строки на нашем компьютере, в зависимости от используемой операционной системы. Это достигается с помощью автоматического перевода строки (autocrlf) и безопасного управления переводом строки (safecrlf).
С опцией –system, – глобальный или – локальный, мы сообщаем Git, для какой области на нашем компьютере мы хотим установить конкретную конфигурацию.
–system содержит конфигурации для каждого пользователя во всех его репозиториях на одном компьютере.
–global предоставляет конфигурацию для одного конкретного пользователя
–local содержит конфигурации для определенного репозитория
Команда:
123456 | git config –system/global/localgit config –global user.name “Github_Username” git config –global user.email “Your_Email@Domain.com” core.autocrlf input(true)core.safecrlf warncore.editor “code – -wait” |
Инициализация репозитория Git
Чтобы начать использовать Git, первым делом нужно инициализировать репозиторий, расположение файлов и историю их изменений.
Давайте сейчас создадим новый репозиторий. Создайте папку или каталог «MySoftware». Затем переключитесь в этот каталог. Оказавшись внутри папки, используйте команду git init, чтобы преобразовать каталог в пустой репозиторий Git.
С помощью этой команды создается скрытый каталог с именем «.git». Это создано Git, и именно здесь хранится вся информация о нашем репозитории. Обратите внимание, что ветвь master всегда является ветвью по умолчанию при инициализации проекта Git.
Чтобы просмотреть файлы, сгенерированные git init, выполните следующую команду: ls -a
Во-первых, измените каталог. Здесь я меняю каталог на папку MySoftware в моем случае.
Добавление и удаление файлов:
Теперь мы собираемся работать с промежуточной зоной. Как правило, файлы в репозитории могут иметь следующие статусы:
1. Не отслеживается
2. Постановка
3. Committed
Чтобы узнать фактическое состояние файлов в репозитории, используется команда git status. Допустим, мы создали файл readme.txt в нашем хранилище.
– запуск git status приведет к следующему выводу:
– Как видите, файл readme.txt не отслеживается. Untracked означает, что файл не отслеживается Git на наличие изменений. Мы должны явно указать, за какими файлами он должен следить/отслеживать.
– Команда git add ‘file name’ указывает Git отслеживать файл. Этот шаг называется постановкой.. Давайте добавим наш файл readme.txt:
– Теперь наш файл находится в промежуточной области. Допустим, у нас есть больше неотслеживаемых файлов. Если сейчас мы сделаем git status, мы увидим, что есть неотслеживаемые файлы. Чтобы добавить все файлы в тестовую область вместе, мы используем «git add ». команда
Примечание. Команда touch в Git — это самый простой способ создать новые пустые файлы.
– Предположим, мы хотим удалить файл «script.py». Если мы запустим команду git status, она покажет, что 3 файла должны быть зафиксированы, а 1 файл удален.
– Запустите «git add .», чтобы обновить файлы в тестовой области.
Файл .gitignore :
Если вы не хотите, чтобы Git отслеживал определенные файлы, вы можете их игнорировать. Это делается с помощью файла .gitignore. Все, что указано в файле .gitignore, игнорируется Git и не отображается в репозитории. Давайте создадим файл .gitignore и файл password.txt.
Напишите образец текста внутри password.txt и отредактируйте содержимое .gitignore, добавив имя файла («password.txt»), которое мы хотим игнорировать.
Запуск git status показывает, что не отслеживается только файл .gitignore. Перечисленные здесь файлы находятся в области Staging, но их еще нет в нашем репозитории. Чтобы добавить их в репозиторий, нам нужно зафиксировать их.
Git Commit:
коммит gitКоманда сохраняет состояние вашего проекта, добавляя снимки промежуточных файлов в репозиторий. Эта команда включает флаг -m с сообщением, описывающим, что мы изменили.
Команда выглядит следующим образом: git commit -m «message»
Выполнение git status после того, как git commit проверит актуальность отслеживаемых файлов. Только изменения в промежуточных файлах (добавленные с помощью команды git add) будут добавлены в репозиторий с помощью команды git commit.
Если вы хотите просмотреть историю своих коммитов, используйте команду git log. Эта команда выводит список ваших коммитов, их даты, авторов и другую связанную информацию о каждом коммите.
Клонирование и отправка:
Теперь, после фиксации изменений, следующим шагом будет отправка локального репозитория на удаленный сервер Git (например, GitHub или Bitbucket).
После создания удаленный репозиторий у нас есть следующие варианты:
1. Клонируйте репозиторий и начните вносить изменения.
2. Инициализируйте локальный репозиторий, а затем соедините его с удаленным репозиторием.
Клонирование следует выполнять в самом начале проекта. Команда clone — это не что иное, как загрузка удаленного репозитория:
Перейдите в свой репозиторий GitHub. В правом верхнем углу над списком файлов нажмите на Клонировать или скачать в выпадающем меню.
Скопируйте URL для клонирования через HTTPS
git clone https://github.com/rajkumartesting/myrepo.git< p>Если вы уже инициализировали локальный репозиторий, вы можете подключить его к удаленному репозиторию с помощью следующей команды:
git remote add origin https://github.com/rajkumartesting/myrepo.git
Удаленная отправка
После внесения локальных изменений и коммитов пришло время отправить изменения в удаленный репозиторий. Команда push позволяет передавать коммиты из локального репозитория в удаленный.
git push -u origin master
Предположим, что имя нашего удаленного сервера — origin, а имя локальной ветки по умолчанию — master. -u указывает, что параметры необходимо запомнить, чтобы в следующий раз, когда мы могли просто запустить git push, Git знал, что делать.< Команда h3 id=h-pulling>Pulling
git pull просто загружает последний контент из удаленного репозитория и копирует последние изменения в локальный репозиторий. .
Команда для получения новых изменений в нашем локальном репозитории:
git pull origin master
Чтобы проверить, что отличается от нашего последнего коммита, используйте git diff< Команда /strong>.
git diff HEAD
Сброс и проверка:
Чтобы проверить изменения в файлах, которые уже были подготовлены, запустите git diff –staged
Вы даже можете сбросить область подготовки, используя reset команда:
git reset 'имя файла'
Это вернет файл из промежуточного состояния, и все изменения останутся в файле. . Вы можете использовать команду checkout для сброса файла до последней зафиксированной версии:
git checkout — 'имя файла'
Отрасли:
Ветки — очень важная часть Git. Ветвление позволяет вам сделать копию вашего рабочего проекта и изменить его, не затрагивая основную ветку (главную ветку), давая возможность работать над одним и тем же проектом с разными коммитами.
Мы создаем новую ветку всякий раз, когда мы хотим поработать над новой функцией или исправить ошибку. После завершения работы в этой ветке она объединяется с главной веткой.
Создание новой ветки выполняется с помощью команды ветка:
git branch new_branch
Затем нам нужно переключиться на ветку с помощью команды checkout:
git checkout new_branch
Существует ярлык для создания новой ветки и переключения на нее:
git checkout -b new_branch
Теперь каждое изменение, сделанное в новая ветвь под названием new_branch не повлияет на ветку master. Это означает, что вы можете безопасно работать над проектом, ничего не сломав. Каждая ветка имеет свою историю, промежуточную область и рабочий каталог.
Чтобы просмотреть список ваших веток, выполните команду git branch в каталоге проекта. .
Шкатулка:
тайник gitкоманда временно кэширует любые изменения, которые вы внесли в свою рабочую копию, чтобы вы могли переключиться на что-то другое, а затем вернуться и восстановить их позже.
После сохранения вы можете вносить любые изменения и выполнять другие операции git, такие как создавать новые коммиты и переключать ветки. Затем вы можете вернуться и повторно применить свой тайник.
Шкатулка остается локально в вашем репозитории Git. Они не будут переданы на сервер при отправке.
Существует 2 способа повторно загрузить (повторно применить) спрятанные изменения:
git stash pop
pop удалит спрятанные изменения из спрятанного состояния.
git stash apply
apply применяет одни и те же сохраненные изменения к нескольким веткам.
Выборка (git fetch):
Мы получаем все данные путем выборки. Это означает, что все удаленные ветки и все их объекты, коммиты, снимки и файлы извлекаются в локальный репозиторий.
Команда: git fetch
Слияние (git merge):
Мы можем объединить те изменения с помощью слияния, которые мы извлекли в наш локальный репозиторий, в текущую активную ветку в рабочий каталог, а значит, и промежуточную область. Это просто означает, что наш индексный файл обновлен.
Команда: git merge
Чтобы удалить ветку, которую вы не нужно больше, введите следующую команду:
git branch -d имя_ветви
Надеемся, вы изучили основы Git из этого руководства по Git.
Если у вас есть какие-либо вопросы, оставьте комментарий ниже.
TAG: qa