Въведение в Git: какво представлява и как да го използваме

Снимка на Маркус Spiske на Unsplash

Git е система за контрол на разпределените версии с отворен код. Сега има много думи за определяне на Git.

Позволете ми да го разбия и да обясня формулировката:

  • Контролна система: Това основно означава, че Git е тракер за съдържание. Така Git може да се използва за съхраняване на съдържание - той се използва най-вече за съхранение на кода поради другите функции, които предоставя.
  • Система за контрол на версиите: Кодът, който се съхранява в Git, се променя, тъй като се добавя още код. Също така много разработчици могат да добавят код паралелно. Така системата за контрол на версиите помага при справянето с това, като поддържа история на случилите се промени. Също така, Git предоставя функции като клонове и сливания, които ще покрия по-късно.
  • Разпределена система за контрол на версиите: Git има отдалечено хранилище, което се съхранява в сървър и локално хранилище, което се съхранява в компютъра на всеки разработчик. Това означава, че кодът не се съхранява само в централен сървър, но пълното копие на кода присъства във всички компютри на програмистите. Git е система за контрол на разпределената версия, тъй като кодът присъства в компютъра на всеки програмист. Ще обясня концепцията за отдалечени и локални хранилища по-късно в тази статия.

Защо е необходима система за контрол на версиите като Git

Проектите в реалния живот обикновено имат множество разработчици, които работят паралелно. Така че е необходима система за контрол на версиите като Git, за да се гарантира, че няма кодови конфликти между разработчиците.

Освен това изискванията в такива проекти често се променят. Така система за контрол на версиите позволява на разработчиците да се върнат и да се върнат към по-стара версия на кода.

И накрая, понякога няколко проекта, които се изпълняват паралелно, включват една и съща база данни. В такъв случай концепцията за разклоняване в Git е много важна.

Нека започнем да използваме Git сега

Вместо да споменавам всички понятия наведнъж, ще обясня понятията на Git чрез пример, така че да е по-лесно да се следва.

Изтеглете git

В тази връзка има подробности как да инсталирате Git в множество операционни системи:
https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

Проверете дали Git е инсталиран, като използвате следната команда в командния ред:

git --версия

Създайте местно хранилище на Git

На вашия компютър създайте папка за вашия проект. Нека наречем папката на проекта simple-git-demo.

Отидете в папката си с проект и добавете локално Git хранилище към проекта, като използвате следните команди:

cd simple-git-demo
git init

Командата git init добавя локално Git хранилище към проекта.

Нека сега добавим малък код

Създайте файл, наречен demo.txt, в папката на проекта и добавете следния текст в него:

Първоначално съдържание

Тук ще бъдем демонстрирани само с обикновен текст, а не с действителния код, тъй като основният акцент в тази статия е върху Git, а не върху някакъв конкретен език за програмиране.

Поставяне и ангажиране на кода

Ангажирането е процесът, при който кодът се добавя в локалното хранилище. Преди да извършите кода, той трябва да бъде в зоната за поставяне. Постановката е там, за да следи всички файлове, които трябва да бъдат ангажирани.

Всеки файл, който не е добавен в зоната за поставяне, няма да бъде ангажиран. Това дава възможност на програмиста да контролира кои файлове трябва да бъдат ангажирани.

постановка

Използвайте следната команда за инсцениране на файла:

git добавяне на демо.txt

В случай, че искате да добавите няколко файла, можете да използвате:

git add file1 file2 file3

Ако искате да добавите всички файлове в папката на вашия проект в зоната за поставяне, използвайте следната команда:

git add.

Използвайте това внимателно, тъй като добавя всички файлове и папки във вашия проект към сценичната зона.

Ангажираност

Използвайте следната команда, за да ангажирате файла:

git commit -m "Начален ангажимент"

„Първоначален ангажимент“ е съобщението за ангажиране тук. Въведете съответно съобщение за ангажиране, за да посочите какви промени в кода са направени в конкретния ангажимент.

Git Status и Git Log

Сега променете файла демо.txt и добавете следния фрагмент:

Първоначално съдържание
Добавяне на още съдържание

Статус

Използвайте състояние на git, за да откриете информация относно това кои файлове са променени и какви файлове има в зоната на поставяне - тя показва и друга информация, която засега можем да игнорираме.

Използвайте следната команда, за да видите състоянието:

git статус

Състоянието показва, че demo.txt е променен и все още не е в зоната на поставяне.

Сега нека добавим demo.txt към сценичната зона и да я ангажираме, като използваме следните команди:

git добавяне на демо.txt
git commit -m "демо.txt файлът е променен"

Вход

Използвайте git log, за да разпечатате всички ангажименти, извършени до момента.

Командата, използвана за това, е:
git log

Дневникът показва автора на всеки ангажимент, датата на извършване и съобщението за ангажиране.

Клонове

Досега не сме създали нито един клон в Git. По подразбиране Git ангажиментите влизат в основния клон.

Какво е клон?

Клонът не е нищо друго, освен указател на най-новия ангажимент в хранилището на Git. Така че в момента основният ни клон е указател към второто фиксиране „демо.txt файлът е променен“.

Защо са необходими няколко клона?

За подпомагане на множество паралелни разработки са необходими няколко клона. Вижте изображението по-долу, за да видите как работят клоновете.

Първоначално ангажиране 1 и ангажиране 2 бяха направени в основния клон. След ангажиране 2 се създава нов клон, наречен „Тест“, и ангажиране 3 и ангажиране 4 се добавят към тестовия клон.

В същото време към основния клон се добавят различни ангажименти 3 и ангажименти 4. Тук можем да видим, че след комитет 2 се правят две паралелни разработки в 2 отделни клона.

Тестовият клон и главният клон са се разминали тук и имат различен код - кодът от тестовия клон може да бъде обединен с главния клон с помощта на git merge. Това ще бъде разгледано по-късно.

Създайте нов клон в Local

Създайте нов клон, наречен тест, като използвате следната команда:

git клон тест

Тази команда създава тестовия клон.

Все още сме в контекста на основния бранш. За да преминете към клона за тестване. използвайте следната команда:

git checkout test

Сега сме в тестовия клон.

Можете да изброите всички клонове на местно ниво, като използвате следната команда:

git клон

Направете някои комисии в новия клон

Променете демо.txt, като добавите следния фрагмент:

Първоначално съдържание
Добавяне на още съдържание
Добавяне на малко съдържание от тестовия клон

Сега поставете етап и ангажирайте, като използвате следните команди:

git добавяне на демо.txt
git commit -m "Тест клон филиал"

Този ангажимент беше направен в тестовия клон и сега тестовият клон изпреварва главния клон с 1 ангажимент - тъй като тестовият клон включва и 2-те комита от главния клон.

Можете да проверите историята на ангажиментите в тестовия клон, като използвате:

git log

Сливане

В момента тестовият клон изпреварва главния с 1 ангажимент. Нека да кажем, че сега искаме целият код в тестовия клон да бъде върнат в главния клон. Именно тук сливането на git е много полезно.

За да обедините кода от тестовия клон в основния клон, изпълнете следните стъпки:

Първо се върнете към основния клон:

git checkout master

След това изпълнете командата за сливане:

git merge test

След като изпълните тези 2 команди, сливането трябва да е успешно. В този пример няма конфликти.

Но в реалните проекти ще има конфликти, когато се извършва сливане. Разрешаването на конфликта е нещо, което идва с опит, така че, когато работите повече с Git, ще можете да получите решението за разрешаване на конфликти.

Пуснете git log сега и ще забележите, че капитанът също има 3 комита.

Отдалеченото хранилище на Git

Досега работихме само в местното хранилище. Всеки разработчик ще работи в локалното си хранилище, но в крайна сметка ще прехвърли кода в отдалечено хранилище. След като кодът е в отдалеченото хранилище, други разработчици могат да видят и модифицират този код.

Показване на отдалечени и локални хранилища

GitHub

Тук ще използваме GitHub за отдалеченото хранилище.

Отидете на https://github.com/ и създайте акаунт.

След като се регистрирате в началната страница на GitHub, щракнете върху Стартиране на проект, за да създадете ново хранилище на Git. Дайте име на хранилището и кликнете върху „Създаване на хранилище“

Дайте името като git-blog-demo.

Това ще създаде отдалечено хранилище в GitHub и когато отворите хранилището, страница като изображението по-долу ще се отвори:

URL адресът на хранилището е подчертаната част https://github.com/aditya-sridhar/git-blog-demo.git

За да насочите локалното си хранилище към отдалеченото хранилище, използвайте следната команда:

git remote add origin [URL на хранилището]

Git Push

За да преместите целия код от локалното хранилище в отдалеченото хранилище, използвайте следната команда:

git push -u origin master

Това избутва кода от главния клон в локалното хранилище до главния клон в отдалеченото хранилище.

Допълнителни команди

Git Pull

git pull се използва за изтегляне на последните промени от отдалечения хранилище в локалното хранилище. Кодът на отдалеченото хранилище се актуализира непрекъснато от различни разработчици, поради което е необходимо издърпване на git:

git pull master master

Git Clone

git clone се използва за клониране на съществуващо отдалечено хранилище във вашия компютър. Командата за това е:

git клон [URL хранилище]

поздравления

Сега знаете основите как да използвате Git, така че продължете напред и проучете повече!

Скоро ще публикувам още една статия за малко по-усъвършенстваните концепции на Git. Следете се!

За автора

Обичам технологиите и следя напредъка в технологиите. Харесва ми също да помагам на другите с всякакви знания, които имам в технологичното пространство.

Чувствайте се свободни да се свържете с мен на моя LinkdIn акаунт https://www.linkedin.com/in/aditya1811/

Можете също да ме последвате в Twitter https://twitter.com/adityasridhar18

Моят уебсайт: https://adityasridhar.com/

Други публикации от мен

Как да използвате Git ефективно