-
1. Почеток
- 1.1 За верзиска контрола
- 1.2 Кратка историја на Git
- 1.3 Основи на Гит
- 1.4 Командната линија
- 1.5 Инсталирање на Git
- 1.6 First-Time Git Setup
- 1.7 Getting Help
- 1.8 Заклучок
-
2. Основите на Git
-
3. Гранење во Git
- 3.1 Гранење објаснето
- 3.2 Основно разгранување и спојување
- 3.3 Branch Management
- 3.4 Работни процеси
- 3.5 Далечински гранки
- 3.6 Ребаза
- 3.7 Заклучок
-
4. Git на Сервер
- 4.1 Протоколите
- 4.2 Добивање на Git на сервер
- 4.3 Генерирање на вашиот SSH јавен клуч
- 4.4 Поставување на серверот
- 4.5 Гит демон
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Опции за домаќини на трети лица
- 4.10 Заклучок
-
5. Дистрибуиран Git
- 5.1 Дистрибуирани работни процеси
- 5.2 Придонес кон проект
- 5.3 Приватен мал тим
- 5.4 Одржување на проект
- 5.5 Заклучок
-
6. GitHub
-
7. Git Алатки
- 7.1 Revision Selection
- 7.2 Интерактивно стажирање
- 7.3 Stashing and Cleaning
- 7.4 Signing Your Work
- 7.5 Searching
- 7.6 Rewriting History
- 7.7 Reset Demystified
- 7.8 Напредно спојување
- 7.9 Rerere
- 7.10 Дебагирање со Git
- 7.11 Submodules
- 7.12 Збивање
- 7.13 Заменување
- 7.14 Складирање на ингеренции
- 7.15 Заклучок
-
8. Персонализација на Git
- 8.1 Git Configuration
- 8.2 Git Атрибути
- 8.3 Git Hooks
- 8.4 An Example Git-Enforced Policy
- 8.5 Заклучок
-
9. Git и други системи
- 9.1 Git како Клиент
- 9.2 Мигрирање кон Git
- 9.3 Заклучок
-
10. Внатрешноста на Git
- 10.1 Plumbing and Porcelain
- 10.2 Git Objects
- 10.3 Git References
- 10.4 Packfiles
- 10.5 The Refspec
- 10.6 Transfer Protocols
- 10.7 Maintenance and Data Recovery
- 10.8 Environment Variables
- 10.9 Заклучок
-
A1. Appendix A: Git во други околини
- A1.1 Graphical Interfaces
- A1.2 Git in Visual Studio
- A1.3 Git in Eclipse
- A1.4 Git in Bash
- A1.5 Git in Zsh
- A1.6 Git in Powershell
- A1.7 Заклучок
-
A2. Appendix B: Вметнување на Git во вашите апликации
- A2.1 Command-line Git
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
-
A3. Appendix C: Git команди
- A3.1 Setup and Config
- A3.2 Getting and Creating Projects
- A3.3 Basic Snapshotting
- A3.4 Branching and Merging
- A3.5 Sharing and Updating Projects
- A3.6 Inspection and Comparison
- A3.7 Debugging
- A3.8 Patching
- A3.9 Email
- A3.10 External Systems
- A3.11 Administration
- A3.12 Plumbing Commands
4.8 Git на Сервер - GitLab
GitLab
Сепак, GitWeb е прилично симплистички. Ако барате посовремен, целосно опремен сервер Git, постојат неколку решенија со отворен код таму што можете да ги инсталирате. Бидејќи GitLab е една од најпопуларните, ние ќе го покриеме инсталирањето и користењето како пример. Ова е малку покомплексно од опцијата GitWeb и веројатно бара повеќе одржување, но тоа е многу попосебна опција.
Инсталација
GitLab е web-апликација поддржана од база на податоци, па затоа нејзината инсталација е малку повеќе вклучена од некои други Git сервери. За среќа, овој процес е многу добро документиран и поддржан.
Постојат неколку методи што можете да ги извршите за да го инсталирате GitLab. За да добиете нешто брзо и трчање, можете да преземете слика од виртуелната машина или да инсталирате еден клик од https://bitnami.com/stack/gitlab [] и да ја конфигурирате конфигурацијата за да одговараат на одредена околина. Еден убав допир Bitnami вклучен е екранот за најава (достапен со внесување alt + →); тоа ви ја раскажува IP адресата и стандардното корисничко име и лозинка за инсталираниот GitLab.
-
Екран за најавување на виртуелната машина на Bitnami GitLab. image::images/bitnami.png[The Bitnami GitLab virtual machine login screen.]
За ништо друго, следете ги упатствата во Readme Community Edition Edition, кое може да се најде на https://gitlab.com/gitlab-org/gitlab-ce/tree/master []. Таму ќе најдете помош за инсталирање на GitLab со користење на рецепти за готвачи, виртуелна машина на дигитален океан и пакети RPM и DEB (кои, од ова пишување, се во бета верзија). Исто така има и ‘` неофицијални '’ насоки за добивање на GitLab со нестандардни оперативни системи и бази на податоци, целосно рачно инсталирано скрипта и многу други теми.
Администрација
Административниот интерфејс на GitLab се пристапува преку интернет.
Едноставно насочете го вашиот прелистувач до името на домаќинот или IP адресата каде е инсталиран GitLab и се најавите како администраторски корисник.
Стандардното корисничко име е admin @ local.host
, а стандардната лозинка е` 5iveL! Fe` (што ќе ви биде побарано да се промени веднаш штом ќе го внесете).
Откако ќе се најавите, кликнете на иконата "Административна област" во менито во горниот десен агол.
Корисници
Корисниците во GitLab се сметки кои одговараат на луѓето. Корисничките сметки немаат многу сложеност; главно, тоа е збирка на лични информации приложени за податоците за најава. Секоја корисничка сметка доаѓа со * именски простор *, што е логично групирање на проекти кои му припаѓаат на тој корисник. Ако корисникот + jane + имал проект наречен + проект +, URL-то на проектот ќе биде http: // server / jane / project [].
![The GitLab user administration screen.](png/gitlab-users.png)
Отстранувањето на корисникот може да се направи на два начина. ‘` Блокирање '’ корисникот ги спречува да се логираат во GitLab пример, но сите податоци под именскиот простор на тој корисник ќе бидат зачувани, а обврските потпишани со е-поштенската адреса на тој корисник сепак ќе се поврзат со нивниот профил.
Уништувањето на корисникот, од друга страна, целосно ги отстранува од базата на податоци и датотечниот систем. Сите проекти и податоци во нивниот именски простор се отстранети, и сите групи што ги поседуваат исто така ќе бидат отстранети. Ова очигледно е многу потрајна и деструктивна акција, а нејзината употреба е ретка.
Groups
Група GitLab е збир на проекти, заедно со податоци за тоа како корисниците можат да пристапат кон овие проекти. Секоја група има именски простор на проектот (на ист начин како што го прават корисниците), па ако групата + обука + има проект + материјали +, нејзиниот URL би бил http: // server / training / materials [].
![The GitLab group administration screen.](png/gitlab-groups.png)
Секоја група е поврзана со голем број на корисници, од кои секоја има ниво на дозволи за проектите на групата и самата група. Тие се движат од ‘` Guest ’ (прашања и разговор само) до `` Owner ' (целосна контрола на групата, нејзините членови и нејзините проекти). Видовите на дозволи се премногубројни за да се наведат овде, но GitLab има корисна врска на административниот екран.
Проекти
Проектот GitLab приближно одговара на едно Git складиште. Секој проект припаѓа на еден именски простор, или корисник или група. Ако проектот му припаѓа на корисник, сопственикот на проектот има директна контрола врз тоа кој има пристап до проектот; ако проектот припаѓа на група, дозволите на ниво на корисникот ќе станат ефекти.
Секој проект, исто така, има ниво на видливост, кое контролира кој има пристап до читање на страниците и складиштето на тој проект. Ако проектот е Private, сопственикот на проектот мора експлицитно да му даде пристап на одредени корисници. Проектот Internal е видлив за секој најавен корисник, а проектот _Public е видлив за секого. Забележете дека ова го контролира и пристапот "git fetch", како и пристап до веб-интерфејсот за тој проект.
Куки
GitLab вклучува поддршка за куки, како на проект, така и на системско ниво. За било која од овие, серверот GitLab ќе изврши HTTP POST со некој описен JSON секогаш кога ќе се појават релевантни настани. Ова е одличен начин за поврзување на вашите Git складишта и GitLab инстанца со остатокот од вашата автоматизација на развојот, како што се CI сервери, виртуелни простории за разговор или алатки за распоредување.
Основна употреба
Првото нешто што ќе сакате да го направите со GitLab е да создадете нов проект. Ова се постигнува со кликање на иконата "` + "на алатникот. Ќе ви биде побарано името на проектот, на кој именски простор треба да му припаѓате, и што треба да биде нејзиното ниво на видливост. Поголемиот дел од она што го наведете овде не е трајно, и може повторно да се прилагоди подоцна преку интерфејсот за поставувања. Кликнете ‘` Креирај проект '’, и ќе завршиш.
Откако проектот постои, најверојатно ќе сакате да го поврзете со локално Git складиштето.
Секој проект е достапен преку HTTPS или SSH, од кои било кој може да се користи за конфигурирање на далечинско Git.
УРЛ-адресите се видливи на врвот на почетната страница на проектот.
За постоечко локално складиште, оваа команда ќе создаде оддалечен име gitlab
на локацијата што се хостира:
$ git remote add gitlab https://server/namespace/project.git
Ако немате локална копија од складиштето, можете едноставно да го направите ова:
$ git clone https://server/namespace/project.git
Веб интерфејсот обезбедува пристап до неколку корисни погледи на самата складиште. Почетната страница на секој проект покажува неодамнешна активност, а линковите по должината на врвот ќе ве доведат до погледи на датотеките на проектот и дневникот за извршување.
Работете заедно
Наједноставниот начин на заедничко работење на GitLab проектот е давање на друг корисник директен пристап до Git складиштето. Можете да додадете корисник на проект со одење во делот "Членови" во поставките на тој проект и поврзување на новиот корисник со ниво на пристап (различните нивоа на пристап се дискутираат малку во << _ gitlab_groups_section >>). Со давање на корисник ниво на пристап на ‘` Developer '’ или погоре, тој корисник може да ги притисне обврските и филијалите директно во складиштето со неказнивост.
Друг, поделеран начин на соработка е со користење на барања за спојување.
Оваа карактеристика му овозможува на секој корисник кој може да го види проектот за да придонесе кон него на контролиран начин.
Корисниците со директен пристап можат едноставно да креираат гранка, да извршат притисок и да отворат барање за спојување од нивната гранка назад во господар
или било која друга гранка.
Корисниците кои немаат дозволи за притискање за складиштето, можат да го "вилушкаат" (создадат своја копија), притисни обврски за that copy, и да отворат барање за спојување од нивната вилушка назад кон главниот проект.
Овој модел му овозможува на сопственикот да биде во целосна контрола на она што оди во складиштето и кога, притоа дозволувајќи им на придонеси од недоверливи корисници.
Барањата и прашањата за спојување се главните единици на долготрајната дискусија во GitLab. Секое барање за спојување дозволува линиска поделба на предложената промена (која поддржува лесен вид преглед на кодот), како и општа сеопфатна дискусија. Двете можат да бидат доделени на корисници, или организирани во пресвртници.
Овој дел е фокусиран главно на функциите Git поврзани со GitLab, но како зрел проект, тој обезбедува многу други функции за да му помогне на вашиот тим да работи заедно, како што се проектни викија и алатки за одржување на системот. Една корист за GitLab е тоа што, откако серверот е поставен и работи, ретко ќе треба да ја конфигурирате конфигурациската датотека или да пристапите до серверот преку SSH; најмногу администрација и општа употреба може да се постигне преку интерфејсот во прелистувачот.