Какво е GitHub, защо е необходим и как да използвате GitHub, как да започнете да използвате услугата – ръководство за начинаещи.
GitHub е една от най-популярните услуги за хостване на хранилища с отворен код. Сайтът ви позволява да публикувате персонализирани проекти и да проследявате промените, направени във всяка итерация. Други потребители на GitHub могат да прегледат потребителския код и да предложат свои собствени промени. Това определение дава само кратко разбиране. Функционалността на услугата обаче не се ограничава до това. В тази обзорна статия ще разгледаме Github по-подробно.
- Какво е GitHub и как да започнете – Ръководство за начинаещи
- Git и GitHub – каква е разликата, първо запознаване с Git и GitHub
- Какво е Git?
- Какво е GitHub?
- Каква е основната разлика?
- Интересни факти за Github
- Функции на Github
- Как работи GitHub, функции
- Разклоняване
- Заявки за изтегляне
- Сливане
- Ръководство – как да започнете в Github от нулата
- Стъпка 0 Инсталирайте Git и създайте акаунт в GitHub
- Стъпка 1: Стартирайте Git и създайте първото локално хранилище
- Стъпка 2. Създайте нов файл в хранилището
- Стъпка 3: Добавете файла към средата за проследяване
- Стъпка 4 Създайте ангажимент
- Стъпка 5. Създайте нов клон нов клон
- Стъпка 6 Създайте ново хранилище на GitHub
- Стъпка 7: Избутване на клона на проекта към GitHub
- Допълнително
- Стъпка 8. Създайте първата заявка за изтегляне
- Стъпка 9 Обединете заявката за изтегляне
- Стъпка 10Върнете промените в Github на локална машина
- Допълнителни функции на Github и Git
- Клониране на хранилище към локална машина
- Намиране на отдалечени хранилища
- Настолна версия на GitHub – какво е GitHub Desktop, основна функционалност, функции и процес на инсталиране
- Как да инсталирате
- Основна функционалност
- Github API
- Управление и конфигуриране на Github Desktop проекти
- Създаване, добавяне и клониране на хранилище
- Създаване на нов клон
- Безопасност
- Настройка на политиката за сигурност
- Управление на графики на зависимости
- Лицензи
Какво е GitHub и как да започнете – Ръководство за начинаещи
GitHub е онлайн портал, където разработчиците и програмистите могат да качват създадения от тях код и да работят заедно, за да го подобрят. Отличителният белег на GitHub е неговата стабилна система за контрол на версиите. Контролът на версиите позволява на програмистите да персонализират софтуера, без да компрометират самия софтуер. Предложените промени могат лесно да бъдат обединени в пълно издание, но само след като всички промени бъдат прегледани и одобрени.
Git и GitHub – каква е разликата, първо запознаване с Git и GitHub
Какво е Git?
Отговор: Бърза и мащабируема система за контрол на версиите . Git е безплатна и разпределена система за контрол на ревизиите с отворен код, проектирана да бъде бърза и ефективна за всеки проект, от малък до много голям.
Какво е GitHub?
Отговор: мощна облачна услуга за управление на частни разработки и проекти с отворен код.
Каква е основната разлика?
Git е пълноценен софтуер от категорията система за контрол на версиите, който се инсталира на личния компютър на потребителя. Git ви позволява да правите промени в кода чрез командния ред (Microsoft PowerShell), а GitHub предоставя възможност за съхраняване на проекти в публичен достъп.
Интересни факти за Github
- Максималният брой потребители на сайта миналата година (според статистиката на 24 юли 2021 г.) е бил 45 милиона души.
- През 2018 г. Microsoft придоби GitHub за 7,5 милиарда долара.
- В Github има git хранилище с отворен код. Всеки може да прави промени в него. Проектът е достъпен на линка – https://github.com/git/git?ref=stackshare
Функции на Github
- Възможност за интеграция с най-популярните платформи и услуги – Amazon, Google Cloud и Code Climate.
- Поддръжка на над 200 езика за програмиране.
- Висока степен на консолидация и “гилдийна солидарност”. Когато даден потребител публикува своя проект в GitHub, останалата част от програмистката общност може да изтегли и оцени работата, качеството на кода и степента на неговата сложност. Потребителите на трети страни могат да предупредят собственика на проекта за възможни проблеми, конфликти на променливи и т.н.
Как работи GitHub, функции
Три от най-важните функции на Github са разклоняване, заявки за изтегляне и сливане. Струва си да разгледаме всяка функция поотделно.
Разклоняване
Разклоняването на проект създава копие (форк), което позволява на потребителя да експериментира свободно, без да засяга оригиналния проект. Създавайте разклонения и заявки за изтегляне: https://youtu.be/nT8KGYVurIU
Заявки за изтегляне
Заявката за изтегляне се публикува от разработчика, след като той приключи работата по коригирането/промяната на кода. В същото време самият собственик на проекта може да прегледа направените промени и да зададе допълнителни въпроси.
Сливане
След като собственикът одобри заявката за изтегляне, той обединява заявката за изтегляне и прилага промените от разклонения проект към изходния код.
Ръководство – как да започнете в Github от нулата
Това ръководство е идеално за всички начинаещи, които тепърва започват да учат Git и Github. Следващите стъпки ще ви помогнат да изградите оптимална система за работа с този софтуер. Ще научите как да правите промени в кодовата база, да отваряте заявка за изтегляне (създаване на заявка за изтегляне) и да обединявате код в основния клон. Така че да започваме.
Стъпка 0 Инсталирайте Git и създайте акаунт в GitHub
- Отидете на официалния уебсайт на Git: https://git-scm.com/downloads
- Кликнете върху връзката, за да изтеглите настолната версия на Git за Windows и изчакайте изтеглянето да приключи.
- Разархивирайте и стартирайте инсталатора на Git, като щракнете двукратно върху файла Git.exe.
- Разрешете на приложението да прави промени в компютъра, като щракнете върху бутона „Да“ в диалоговия прозорец „Контрол на потребителските акаунти“, който се отваря.
- Стартирайте инсталационния процес на Git. Прочетете основния документ за публичния лиценз на GNU и щракнете върху Напред.
- Посочете местоположение за инсталиране на програмата или оставете стойностите по подразбиране. Програмата ще ви подкани да създадете папка в менюто “Старт”. Пропуснете този елемент.
- Изберете текстовия редактор, който искате да използвате с Git. В падащия прозорец изберете Notepad ++ (или друг текстов редактор, с който сте работили преди) и щракнете върху „Напред“.
- Посочете име за новия клон на проекта. Стойността по подразбиране е “master”. Препоръчително е да оставите тази настройка по подразбиране.
- В опциите за избор на PATH, SSH клиент, сървърни сертификати, край на редове и терминал оставете всичко както е и щракнете върху бутона “Напред”.
- Оставете всички настройки по подразбиране и започнете да инсталирате програмата.
- След като инсталацията приключи, поставете отметки в квадратчетата, за да видите бележките по изданието и стартирайте Git Bash. Затворете прозореца на инсталатора.
Можете да регистрирате акаунт в Github, като използвате следната връзка: https://github.com/join. За да направите това, трябва да въведете основните данни за регистрация, необходими в бъдеще, за да потвърдите акаунта си.
Стъпка 1: Стартирайте Git и създайте първото локално хранилище
Git има два режима на използване – bash (Git Bash) и графичен потребителски интерфейс (Git GUI). За да стартирате Git Bash, отворете менюто “Старт” – Windows, въведете git bash и натиснете Enter (или щракнете два пъти с левия бутон върху прекия път на програмата). За да стартирате Git GUI, отворете менюто “Старт” – Windows, въведете git gui и натиснете Enter. В нашия случай ще използваме Git Bash.
Създаването на нов проект в Git Bash включва използването на специални команди за инициализиране на ново хранилище. Първо трябва да отворите Bash терминал, като щракнете с десния бутон върху работния плот и след това в падащото меню Git Bash Here. В терминален прозорец на вашата локална машина създайте нова тестова директория (папка), като напишете следното:
getrekt:Desktop getrekt $ cd ~/Desktop
getrekt:Desktop getrekt $ mkdir myproject
getrekt:Desktop getrekt $ cd myproject/
Командата mkdir създава нова локална папка на проекта. Създайте нашето първо хранилище в Github: https://youtu.be/yHCUc6cmhcc
Стъпка 2. Създайте нов файл в хранилището
В папката на проекта добавете нов текстов файл с помощта на командата докосване. По стандартния начин командата ще създаде празен текстов файл, който ще има разширение .txt.
внимание! Git запазва/управлява промените само във файловете, които проследява. След като създаде нов файл, потребителят може да проследи състоянието му с помощта на командата git status. Конзолата ще даде списък с файлове, които присъстват в хранилището.
Веднага след като добавите файл към папката, съдържаща git хранилището, програмата ще забележи промяната в проекта. Автоматичното проследяване обаче няма да бъде активирано, трябва да използвате специална команда за това – git add.
getrekt:myproject getrekt $ touch getrekt.txt
getrekt:myproject getrekt $ ls
getrekt.txt
Стъпка 3: Добавете файла към средата за проследяване
Добавете файла към сценарийната среда с командата git add.
getrekt:myproject git add . С тази команда програмата ще започне автоматично проследяване на всички файлове, които ще бъдат създадени в папката на проекта. Можете да проверите дали командата работи с git status. Ето как изглеждат регистрационните файлове в командния ред на Git Bash след въвеждане на git status:
getrekt: getrekt getrekt$ git status
На master master
Първоначално ангажиране
Промени, които трябва да бъдат ангажирани:
(използвайте “git rm –cached …” за премахване на сцената)
Добавен нов файл
Ново име на файл: getrekt.txt
нов файл: getrekt.txt Коментар в журнала: Файлът все още не е ангажиран, но предстои да бъде добавен.
Стъпка 4 Създайте ангажимент
Комитът е контролна точка на всяко хранилище. Просто казано, пакет за промяна, който съхранява информация за добавени, редактирани или изтрити файлове, които съхраняват определен код.
getrekt:myproject getrekt $ git commit -m “МОЯТ ПЪРВИ КОМИТ, МОМЧЕТА!”
[master (root-commit) b345d9a] МОЯТ ПЪРВИ КОМИТ!
1 файл променен, 1 вмъкване(+)
режим на създаване 100644 getrekt.txt
Командата за създаване на ангажимент е git commit -m “Име на ангажимент”.
внимание! Съобщението в края на командата трябва да е смислено и разбираемо за други разработчици на проекти. Не наименувайте ангажиментите си като “asdfadsf” или “foobar”. В противен случай никой няма да разбере нищо и ще трябва да отделите много време, за да ги изтриете.
Стъпка 5. Създайте нов клон нов клон
Нов клон е пълноправен клон на проекта, който се състои от цял набор от ангажименти. Представлява отделна версия на продукта, но в рамките на системата за контрол на версиите. Клоните позволяват на потребителя да се движи между „състояния“ на проект.
В официалната документация на git описанието на клоновете е: „Клонът в Git и Github е подвижен указател към един от ангажиментите на хранилището.“
Например, ако потребител иска да добави нова страница към своя уебсайт, той ще може да създаде нов клон само за тази конкретна страница, без да засяга основното тяло на проекта. Веднага след като приключи с това, той може да обедини промените от своя клон в основния. В случай на ново разклонение, Git следи от кой комит се разклонява.
След като изпълните командата, можете да въведете git branch в конзолата, за да потвърдите създаването на клона:
getrekt:myproject getrekt $ git branch
master
* my-new-branch Името my-new-branch със звездичка показва кой клон потребителят в момента е включен.
Забележка: По подразбиране първият клон на всяко git repo се нарича “главен” (и обикновено се използва като главен в проект). Като част от борбата срещу расизма някои разработчици са започнали да използват алтернативни имена за клона по подразбиране, като например „първичен“. По-често обаче потребителите могат да видят “master” или подобни имена, използвани за обозначаване на него.
Струва си да се има предвид, че почти всяко хранилище има главен клон, който може да се счита за официалната версия на проекта. Ако това е уебсайт, тогава клонът е версията, която потребителите виждат. Ако това е приложение, тогава основният клон е версията, която потребителите инсталират на своя компютър или мобилно устройство. Ето как работи традиционното създаване на версии на продуктите Git и Github. Официалният сайт има по-подробна документация за използването на различни имена на клонове по подразбиране. Информацията е достъпна в Github на адрес https://github.com/github/renaming
. В случай на връщане към клон на проект и създаване на множество ангажименти, новият клон няма да бъде проследен от системата за контрол на версиите, докато потребителят не напише автоматично проследяване .
Стъпка 6 Създайте ново хранилище на GitHub
Тази стъпка не е задължителна, ако искате само да проследявате кода си локално. Но ако работите в екип и приемате промени от други програмисти, тогава можете да използвате текущите възможности на GitHub, за да промените съвместно кода на проекта. За да създадете ново хранилище в GitHub, трябва да влезете в системата и да отидете на главната страница на сайта. От главното меню щракнете върху бутона „Ново хранилище“, който се намира под знака „+“ до профилната снимка в горния десен ъгъл на навигационната лента: След като щракнете върху бутона, GitHub ще попита собственика на проекта за да дадете име на хранилището и да предоставите кратко описание:
След това щракнете върху бутона „Създаване на хранилище“, за да потвърдите създаването на нов проект. Ще се появи диалогов прозорец, който пита потребителя дали иска да създаде хранилище от нулата или да добави съществуващо, създадено локално. Във втория случай трябва да качите папката на проекта в Github.
внимание! Изтеглянето на локално хранилище може да стане и с помощта на командния ред и по-конкретно командите git remote add origin github_url (създава запис на нова връзка към отдалеченото хранилище), git push -u origin master (установява връзка между клона в където се намира разработчикът и главният клон на отдалечен сървър).
Ето как изглеждат регистрационните файлове в командния ред на Git Bash:
getrekt:myproject getrekt $ git remote add origin https://github.com/cubeton/mynewrepository.git
getrekt:myproject getrekt $ git push -u origin master
Преброяване на обекти: 3, готово.
Обекти за запис: 100% (3/3), 263 байта | 0 байта/сек, готово.
Общо 3 (делта 0), повторно използван 0 (делта 0)
До https://github.com/cubeton/mynewrepository.git
* [нов клон] главен -> главен Главен
клон, настроен за проследяване на отдалечен главен клон от произхода.
Стъпка 7: Избутване на клона на проекта към GitHub
Създаден е нов клон на проекта и хранилище. Остава да „натиснем“ клона и да го прехвърлим в новото хранилище на Github. По този начин членовете на общността на трети страни ще могат да видят кода и да направят промени в него. Ако ревизиите бъдат одобрени, собственикът на проекта може да обедини промените в основната версия на проекта. За да изпратите промени в нов клон на GitHub, трябва да въведете командата git push в командния ред. GitHub автоматично ще създаде клон в отдалеченото хранилище:
getrekt:myproject getrekt$ git push origin my-new-branch
Преброяване на обекти: 3, готово.
Делта компресия с помощта на до 8 нишки.
Компресиране на обекти: 100% (2/2), готово.
Обекти за запис: 100% (3/3), 313 байта | 0 байта/сек, готово.
Общо 3 (делта 0), повторно използвани 0 (делта 0)
До https://github.com/cubeton/mynewrepository.git
* [нов клон] my-new-branch -> my-new-branch След опресняване на страницата на GitHub, потребителят ще види новия клон, който е бил избутан в хранилище.
Допълнително
Какво означава думата origin в командата git push origin? Когато потребител клонира отдалечено хранилище на своята локална машина, git създава стандартен псевдоним за него в почти всички случаи, „origin“, което по същество е съкратено за URL адреса на отдалеченото хранилище. Изпращане на проект в GitHub: https://youtu.be/zM6z57OtR2Q
Стъпка 8. Създайте първата заявка за изтегляне
Заявка за изтегляне (или заявка за изтегляне) е начин за предупреждаване на собствениците на хранилища, че разработчикът иска да направи някои промени в кода. Ето как изглежда страницата с добавената заявка за изтегляне:
Ето как изглежда интерфейсът на секцията след създаване на заявката за изтегляне:
Стъпка 9 Обединете заявката за изтегляне
Зеленият бутон „Merge pull request“ в долната част създава заявка за изтегляне. След като щракнете върху него, направените промени се добавят към основния клон на проекта.
внимание! Изтрийте клона след сливането. Голям брой от тях могат да доведат до объркване в проекта. За да изтриете клон, щракнете върху сивия бутон „Изтриване на клон“ в долния десен ъгъл.
За да проверите текущото състояние на ангажименти, щракнете върху връзката „Комити“ на първата страница на хранилището. Щракването ще покаже целия списък с ангажименти в този клон. Екранната снимка показва точно този, който току-що беше създаден.
От дясната страна е хеш кодът на всеки комит. Хеш кодът е уникален идентификатор, който може да се използва при свързване на API и услуги на трети страни. Можете също така да посочите конкретен ангажимент чрез идентификационния номер на настолната версия на Git Bash в командния ред.
Стъпка 10Върнете промените в Github на локална машина
В момента хранилището в системата Github изглежда малко по-различно от потребителя на локалния компютър. Например ангажимент, който потребител е направил на собствения си клон и се е слял в главния клон, не съществува на локалната машина. За да синхронизирате автоматично различни версии на проект, трябва да използвате командата git pull origin master (когато работите върху главния клон) или git pull.
getrekt:myproject getrekt $ git pull origin master
дистанционно: Преброяване на обекти: 1, готово.
отдалечено: Общо 1 (делта 0), повторно използвано 0 (делта 0), повторно използвано пакетиране 0
От https://github.com/cubeton/mynewrepository
* master master -> FETCH_HEAD
23242..232433berer3444 master -> origin/master
getrekt. txt | 1 +
1 файл променен, 1 вмъкване(+)За да проверите текущото състояние на команда, въведете git log в командния ред. Той ще изброи всички ангажименти.
getrekt:myproject getrekt $ git log
commit 32dgt472hf74yh7734hf747fh373hde7r3heduer73hfhf
Merge: 3fg4dd 34fg3u7j7
Author: Mtdes Ethan < getrekt@yandex.ru>
Date: Fri Sep 11 17:48:11 2015 -0400
Merge /cubeton/mynewrepository
commit 44hgfh7f74hdu9jt93hf9ifejffe
Author: Mtdes Ethan < getrekt @yandex.ru>
Дата: Fri Jan 07 17:48:00 2021 -02356
ангажиране 46thf9496hf9485hkf857tg9hfj8rh4j
Обединяване: 33fh5d 3689gfh
Автор: Mtdes Ethan < getrekt@yandex.ru>
Дата: Fri Jan 07 17:51:00 23561
commit 46thf9496hf9485hkf857tg9hfj8rh4j
Merge: 33fh5d 3689gfh
Author: Mtdes Ethan < getrekt@yandex.ru>
Date: Fri Jan 07 17:55:00 2021 -02356
Added some more text to my file
commit 355904-43hg940fg959hfg0g95jjgdgdfgf57i86f
Merge: 343fggdd 53efhgffddg
Author: Mtdes Ethan < getrekt@yandex.ru>
Дата: Fri Jan 07 17:58:00 2021 -02356
Това е първият ми ангажимент! Готов! Сега потребителят е запознат с всички видове работа в системата за контрол на версиите. Урок за Git и GitHub за начинаещи как да инсталирате Git и да започнете с Github, клонове, хранилища, ангажименти и други концепции в практиката на GitHub: https://youtu.be/zZBiln_2FhM
Допълнителни функции на Github и Git
Нека да разгледаме други полезни “чипове”, които ще позволят на разработчика да опрости работата по контрола на версиите.
Клониране на хранилище към локална машина
Отидете до вашето GitHub хранилище. В горния десен ъгъл над списъка с файлове отворете падащото меню „Клониране или изтегляне“. Копирайте URL адреса за клониране на HTTPS.
Върнете се в прозореца Git Bash и въведете командата:
git clone repository_url
repository_url – URL на текущия проект за клониране. Вместо това се вмъква URL адресът на хранилището.
В горния пример командата клонира хранилището през HTTPS. Друг вариант е клониране с URL адреси през SSH ключове. За да направите това, трябва да генерирате двойка SSH ключове в Windows и да зададете публичен ключ на акаунта в GitHub.
Намиране на отдалечени хранилища
След клонирането копие на хранилището от GitHub трябва да се появи в работната директория на компютъра. Проектът трябва да съдържа директория с име и основни файлове. За да преминете към него, трябва да напишете следната команда:
cd git_project
Забележка: Заменете git_project с действителното име на изтегленото хранилище или укажете съдържанието на текущата директория с командата ls. Вторият метод се използва в случаите, когато потребителят не може да си спомни името на проекта.
Настолна версия на GitHub – какво е GitHub Desktop, основна функционалност, функции и процес на инсталиране
GitHub Desktop е настолно приложение, което осигурява GUI базирано взаимодействие с GitHub. За разлика от Git, настолната версия на GitHub ви позволява да изпълнявате същите команди, като използвате потребителския интерфейс, като щракнете върху бутони, което прави много по-лесна работата с хранилища.
Как да инсталирате
- Следвайте връзката – https://desktop.github.com/
- Започнете да изтегляте инсталационния пакет на програмата.
- Кликнете два пъти върху иконата на изтегления файл и продължете с инсталирането на Github Desktop.
- Стартирайте програмата през менюто “Старт”.
- Влезте в GitHub, като използвате данните за потребителския си акаунт.
Основна функционалност
- Създаване, добавяне и клониране на хранилища.
- Използване на програмата за управление на раздели на проекта.
- Извършване на промени в клон.
- Създаване на проблеми, заявки за изтегляне и ангажименти.
- Възможност за достъп до ранни версии на нови продукти.
Github API
Github REST API е интерфейс, който предоставя на разработчиците достъп до Github данни, проекти и хранилища, както и изпращане на заявки към сървъра. Връзката https://api.github.com/ съдържа всички URL адреси, на които можете да изпратите най-простите GET заявки:
Най-често разработчиците създават заявки на езика за програмиране Python във формат JSON. Първо трябва да получите основната информация за хранилището от връзката – https://api.github.com/user/repos Основната информация се въвежда в конфигурационния файл във формат JSON. Той съдържа основните параметри за потребителя – аватар, читатели, брой хранилища, изтегляния и др. След това тези данни се предават на сървъра.
Управление и конфигуриране на Github Desktop проекти
След инсталиране, регистриране на акаунт и настройка на приложението, потребителят може да започне да използва програмата GitHub.
Създаване, добавяне и клониране на хранилище
За да създадете ново хранилище, изберете „Файл“ и щракнете върху бутона „Създаване на хранилище“. За да добавите локален проект, изберете менюто “Файл” и щракнете върху бутона “Добавяне на локално хранилище”. За клониране трябва да изберете менюто “Файл” – “Хранилище за клониране”.
Създаване на нов клон
За да създадете отделен клон на проекта, отворете секцията Current Branch и щракнете върху бутона New Branch. Потребителят ще може да види клона в интерфейса на GitHub и да направи заявка за изтегляне, за да проследи промените.
Безопасност
Десктоп и уеб версията на Github ви позволява да конфигурирате и увеличите нивото на защита на потребителски акаунт. Цялата функционалност е достъпна в секцията „Настройки за сигурност за съхранение“. Струва си да се разгледа по-подробно.
Настройка на политиката за сигурност
На главната страница на вашето хранилище щракнете върху:
- „Сигурност“ – „Политика за сигурност“ – „Стартиране на настройката“.
- Добавете информация за поддържаните версии на вашия проект и как да докладвате възможни уязвимости.
Управление на графики на зависимости
Графика на зависимостта се генерира автоматично за всички публични хранилища, но няма такава функция за частни хранилища. Графиката идентифицира всички изходящи потоци на зависимости и ви позволява да идентифицирате уязвимостите в проекта. За да зададете графиката на зависимостта, щракнете върху “Настройки” – “Сигурност и анализ”. Срещу графиката щракнете върху „Активиране“ или „Деактивиране“.
Лицензи
Лицензирането на Github предоставя използването на два основни вида
лицензи :
- GPL е вид лиценз, който позволява на други потребители да използват нечия работа в други проекти с отворен код. Търговските дружества обаче не могат да направят това.
- LGPL/Commons/MIT/Apache и др. – потребителят предоставя своя код за безплатно ползване. Други могат да правят пари от това.