Натиснете ENTER, за да видите резултатите или ESC за изход.

Първи стъпки в Git

Имате файл, който променяте често и при всяка промяна правите негово копие, за да запазите предишната му версия? Така след 50-тата промяна вече имате 50 различни варианта на файла. До няколко версии назад си спомняте какво е променяно, но какво се е случило в по-старите? И какво ще стане ако искате и други хора да променят същия този файл? А ако имате проект с повече от един файл?

Точно в такива случаи, отговорът е система за контрол на версиите.

Контрол на версиите (revision control)

Система за контрол на версиите се ползва за записване на промените по даден файл или колекция от файлове. Тя позволява да се запази история на промените, да се върне предишна версия, да се добави описание на промените (като например защо и на какво е извършена промяната и други).

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

Системата за контрол на версиите се развива през годините, като в началото ѝ стои локалната система за контрол на версиите (като RCS), при която файловете са били на локалния компютър на разработчика и само той е работил с тях.

След това се появява централизирана система за контрол на версиите (CVS, Subversion), която позволява много потребители да работят по един проект. Проектът се намира на един централен компютър, с който те осъществяват връзка.

Накрая се появява децентрализирана система за контрол на версиите (Darcs, Bazaar, Git, Mercurial, Fossil, Veracity), която решава най-големия недостатък на другите две - в случай на повреда в централния или локалния компютър, всички данни на проекта могат да бъдат загубени, тъй като се намират на едно физическо място. При децентрализираната система за контрол на версиите проектът се сваля и копира локално на компютъра на всеки участващ потребител, като така се създава бекъп. В случай на необходимост, проектът може да се възстанови от локалното копие на някой от потребителите.

Какво е Git?

Git e една от най-известните и използвани децентрализирани системи за контрол на версиите на файловете. С Git много потребители могат да работят едновременно по един и същ файл, без това да доведе до бъркотия и хаос в съдържанието на файла.

Git е създаден и разработен през април 2005г. от не кой да е, а Линус Торвалдс (човекът зад Linux ядрото). Торвалдс създава Git, за да го използва за разработката на неговия проект Linux ядро. От тогава до днес Git се развива и подобрява от множество потребители. Включително самият проект на Git използва тази система, като много разработчици извършват промени в кода му (C, Shell).

Git е създаден с идеята да е бърз, с прост дизайн, стабилна поддръжка на неправолинейна разработка - хиляди паралелни разклонения (branches), напълно децентрализирана организация и възможност да поддържа ефикасно големи проекти (като Linux ядрото).

Част от проектите, които използват Git са Linux Kernel, KVM, Bacula, CakePHP, Drupal, WordPress, FFmpeg, GNOME, phpMyAdmin, Ruby on Rails и много други. Сред проектите, които ползват Mercurial са Dovecot, nginx, OpenOffice, Python, rpm, Vim и други.

Git сървър

За Git сървър можете да използвате Вашия cPanel хостинг акаунт. През Git Version Control в cPanel можете да създадете Git хранилище, с което да се свързвате отдалечено от Вашето устройство.

В уеб може да се намерят и други услуги, предлагащи Git сървър като GitHub, Bitbucket и GitLab.

Най-прост Git сървър, без да се инсталира допълнително приложение, може да се направи само със SSH достъп и подготвено Git хранилище на сървъра. Такъв основен Git сървър може да се ползва за частен проект с малко на брой потребители.

Съществуват и приложения за Git сървър, които могат да се инсталират на VPS сървър. Едно много използвано приложение, което много наподобява GitHub е GitLab. Такива приложения предлагат методи за управление, като контрол на достъпа, управление на множество Git хранилища, преглед през уеб и много други.

Git клиенти

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

Текстовите Git клиенти се ползват през шела на операционната система и поради това можете да ги инсталирате и ползвате през терминала. За Linux базирани системи можете да инсталирате Git например с:

yum install git или apt-get install git

Windows потребителите могат да инсталират Git с графичния Git клиент на GitHub, който съдържа и Git текстов клиент (Git Shell).

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

Да започнем с Git

За да започнете с Git, е необходимо да знаете основните и най-често ползвани команди.

Git основни понятия и команди

Git структура на проекта

git repository (хранилище)

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

git branch (разклонение, клон, линия)

Git създава дървовидна структура на проекта с един основен клон, най-често наречен master. Всичко, което се разработва и променя се извършва по други разклонения, които рано или късно се сливат с основния клон и така се ражда нова версия на проекта. За разработката на различни аспекти от проекта може да се създадат специални разклонения, като development, features, hotfixes и други.

git tag

Всяка окончателно завършена и одобрена промяна се слива с master и представлява различна версия на проекта. Промяната може да се надпише с различен таг, например започвайки с v. 1.0.0.

git commit

Публикуване на промените. Когато промените съдържанието на даден файл, намиращ се в директорията на проекта, ще трябва да направите commit заявка, за да публикувате тези промени. Ако използвате графичен Git клиент, Git ще Ви покаже, че е била извършена промяна и ще Ви попита, дали искате да направите commit (публикуване) на тази промяна.

git pull

Изтегляне на промени от едно хранилище/клон в друго хранилище/клон.

git push

Подаване на промените към отдалечено хранилище.

git merge

Сливане на промените в един клон или сливане на отделни клони. След като промените по файловете в даден клон (branch) са записани, можете да създадете pull заявка за сливане. Тази pull заявка ще е в статус изчакване за одобрение. След одобрение, посоченият клон ще бъде слят, използвайки git merge, с друг избран клон.

Създаване на локално Git хранилище

Работа с Git през PowerShell

След като сте инсталирали Git на Вашия компютър, достъпете през Git шела директорията, от която искате да направите Git хранилище. В директорията може вече да има файлове.

Изпълнете командата:

git init

В директорията ще се появи поддиректория .git, в която се съдържат системните файлове на Git.

Създайте или поставете файл в директорията, например test.txt и изпълнете в терминала:

git status

Ще видите съобщението:

Untracked files: (use "git add ..." to include in what will be committed)

Това означава, че Git открива този файл, но не е инструктиран да го следи (за промени). С командата add добавяте промените в индекса на Git, които смятате, че са готови за публикуване (commit). За да подготвите промените за публикуване, изпълнете командата:

git add test.txt

И след това публикувайте промените с:

git commit -m "test test"

„test test“ е бележка, съвсем кратко описание на промените. Когато преглеждате историята на промените, ще виждате тези бележки, поради това вместо тест тест, използвайте смислено описание на промените.

Бележка: Локално Git хранилище можете да създадете на Вашето устройство, след като инсталирате Git на него, например можете да инсталирате Git GUI/Bash на Windows. Освен на Вашето устройство, Git хранилище можете да създадете в хостинг акаунта през Git Version Control в cPanel или през SSH достъп.

Важно: Не всички проекти, ползващи Git, са еднакви, с еднакви разклонения и процес на разработка. Всеки проект може да има различни изисквания за използването на клони и процеса по обновяване и прилагане на промените. Преди да клонирате някой проект и да започнете да допринасяте за развитието му, проверете документацията и README.md файла за упътване.

Интересно: Влезте в дълбините на Git и научете как да работите с него, само за 15 минути с Got 15 minutes and want to learn Git?

Специалист Техническа Поддръжка

Меган е една от нашите super-support-гурута. СуперСилите ѝ се крият в таланта ѝ да разказва за технически „неща“ по разбираем и достъпен начин.

0 0 гласове
.
500px270px
SuperHosting.BG
Абониране
Уведоми ме при
guest
0 Коментара
Коментари към текста
Виж всички коментари

Privacy Preference Center

Necessary

Advertising

Analytics

Other

0
Какво мислите?x