-
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.5 Git на Сервер - Гит демон
Гит демон
Потоа ќе поставиме складиште на сервери што го користат протоколот ‘` Git '’. Ова е заеднички избор за брз, неовластен пристап до вашите Git податоци. Запомнете дека бидејќи ова не е автентична услуга, сè што му служите на овој протокол е јавно во рамките на неговата мрежа.
Ако го користите ова на сервер надвор од вашиот заштитен ѕид, тоа треба да се користи само за проекти кои се јавно видливи за светот. Ако серверот на кој го стартувате е во вашиот заштитен ѕид, може да го користите за проекти кои голем број луѓе или компјутери (континуирани интеграции или изгради сервери) имаат пристап само за читање, кога не сакате да имате за да додадете SSH клуч за секој.
Во секој случај, протоколот Git е релативно лесно да се постави. Во суштина, треба да ја извршите оваа команда на демонизиран начин:
$ git daemon --reuseaddr --base-path=/srv/git/ /srv/git/
Опцијата --reuseaddr
овозможува серверот да се рестартира без да се чека време за стари врски, додека опцијата` --base-path` им овозможува на луѓето да клонираат проекти без да ја специфицираат целата патека, а патеката на крајот кажува Git демон каде да барате складишта за извоз.
Ако користите заштитен ѕид, исто така ќе треба да направите дупка во неа на пристаништето 9418 на полето за кое го поставувате ова.
Овој процес можете да го демонизирате на повеќе начини, во зависност од оперативниот систем што го работите.
Бидејќи systemd
е најчестиот иницијален систем кај модерните Linux дистрибуции, можете да го користите за таа цел.
Едноставно ставете датотека во / etc / systemd / system / git-daemon.service
со овие содржини:
[Unit]
Description=Start Git Daemon
[Service]
ExecStart=/usr/bin/git daemon --reuseaddr --base-path=/srv/git/ /srv/git/
Restart=always
RestartSec=500ms
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=git-daemon
User=git
Group=git
[Install]
WantedBy=multi-user.target
Можеби сте забележале дека тука е вклучен Git-от со git
, како група, така и корисник.
Измени го за да одговара на вашите потреби и осигурајте се дека обезбедениот корисник постои на системот.
Исто така, проверете дали битката Git навистина се наоѓа во / usr / bin / git
и ако е потребно ја промените патеката.
Конечно, ќе го стартувате systemctl enable git-daemon
за автоматско стартување на услугата при подигнување и може да ја стартуваат и да ја сопрат услугата со, односно` systemctl start git-daemon` и systemctl stop git-daemon
.
До LTS 14.04, Ubuntu користи конфигурација на сервисната единица за upstart. Затоа, на Ubuntu ⇐ 14.04 можете да го користите Upstart скрипта. Значи, во следнава датотека
/etc/init/local-git-daemon.conf
you put this script:
[source,console]1
start on startup stop on shutdown exec /usr/bin/git daemon \ --user=git --group=git \ --reuseaddr \ --base-path=/srv/git/ \ /srv/git/ respawn
Поради безбедносни причини, силно се охрабруваме да го активираме овој демон како корисник со дозволи само за читање во складиштата - лесно можете да го направите ова со создавање нов корисник git-ro и извршување на демонот како нив. Заради едноставност, едноставно ќе го стартуваме како ист корисник на "git" кој работи како "git-shell".
Кога ќе ја рестартирате вашата машина, вашиот демон Git ќе започне автоматски и ќе отпушти ако се сруши. За да го вклучите без да се рестартирате, можете да го извршите ова:
$ initctl start local-git-daemon
На други системи, можеби ќе сакате да го користите xinetd
, скрипта во вашиот` sysvinit` систем, или нешто друго - се додека ја добивате оваа команда демонизирана и некако гледавте.
Следно, мора да му кажете на Git кои складишта да дозволат пристап на Git без пристап до серверот.
Ова може да го направите во секое складиште, создавајќи датотека со име git-daemon-export-ok
.
$ cd /path/to/project.git
$ touch git-daemon-export-ok
Присуството на таа датотека му кажува на Git дека е во ред да му служи на овој проект без автентикација.