-
1. ŠŠ²ŠµŠ“ение
- 1.1 Š ŃŠøŃŃŠµŠ¼Šµ конŃŃŠ¾Š»Ń веŃŃŠøŠ¹
- 1.2 ŠŃŠ°ŃŠŗŠ°Ń ŠøŃŃŠ¾ŃŠøŃ Git
- 1.3 Š§ŃŠ¾ ŃŠ°ŠŗŠ¾Šµ Git?
- 1.4 ŠŠ¾Š¼Š°Š½Š“Š½Š°Ń ŃŃŃŠ¾ŠŗŠ°
- 1.5 Š£ŃŃŠ°Š½Š¾Š²ŠŗŠ° Git
- 1.6 ŠŠµŃŠ²Š¾Š½Š°ŃŠ°Š»ŃŠ½Š°Ń Š½Š°ŃŃŃŠ¾Š¹ŠŗŠ° Git
- 1.7 ŠŠ°Šŗ полŃŃŠøŃŃ ŠæŠ¾Š¼Š¾ŃŃ?
- 1.8 ŠŠ°ŠŗŠ»ŃŃŠµŠ½ŠøŠµ
-
2. ŠŃŠ½Š¾Š²Ń Git
- 2.1 ДозГание Git-ŃŠµŠæŠ¾Š·ŠøŃŠ¾ŃŠøŃ
- 2.2 ŠŠ°ŠæŠøŃŃ ŠøŠ·Š¼ŠµŠ½ŠµŠ½ŠøŠ¹ в ŃŠµŠæŠ¾Š·ŠøŃŠ¾ŃŠøŠ¹
- 2.3 ŠŃŠ¾ŃŠ¼Š¾ŃŃ ŠøŃŃŠ¾ŃŠøŠø ŠŗŠ¾Š¼Š¼ŠøŃŠ¾Š²
- 2.4 ŠŠæŠµŃŠ°ŃŠøŠø Š¾ŃŠ¼ŠµŠ½Ń
- 2.5 Š Š°Š±Š¾ŃŠ° Ń ŃŠ“Š°Š»ŃŠ½Š½Ńми ŃŠµŠæŠ¾Š·ŠøŃŠ¾ŃŠøŃми
- 2.6 Š Š°Š±Š¾ŃŠ° Ń ŃŠµŠ³Š°Š¼Šø
- 2.7 ŠŃŠµŠ²Š“Š¾Š½ŠøŠ¼Ń Š² Git
- 2.8 ŠŠ°ŠŗŠ»ŃŃŠµŠ½ŠøŠµ
-
3. ŠŠµŃвление в Git
-
4. Git на ŃŠµŃŠ²ŠµŃŠµ
-
5. Š Š°ŃŠæŃŠµŠ“ŠµŠ»ŃŠ½Š½Ńй Git
-
6. GitHub
- 6.1 ŠŠ°ŃŃŃŠ¾Š¹ŠŗŠ° Šø ŠŗŠ¾Š½ŃŠøŠ³ŃŃŠ°ŃŠøŃ ŃŃŃŃŠ½Š¾Š¹ Š·Š°ŠæŠøŃŠø
- 6.2 ŠŠ½ŠµŃение ŃŠ¾Š±ŃŃŠ²ŠµŠ½Š½Š¾Š³Š¾ вклаГа в ŠæŃоекŃŃ
- 6.3 Š”Š¾ŠæŃŠ¾Š²Š¾Š¶Š“ение ŠæŃоекŃа
- 6.4 Š£ŠæŃŠ°Š²Š»ŠµŠ½ŠøŠµ Š¾ŃŠ³Š°Š½ŠøŠ·Š°Ńией
- 6.5 ДозГание ŃŃŠµŠ½Š°Ńиев GitHub
- 6.6 ŠŠ°ŠŗŠ»ŃŃŠµŠ½ŠøŠµ
-
7. ŠŠ½ŃŃŃŃŠ¼ŠµŠ½ŃŃ Git
- 7.1 ŠŃŠ±Š¾Ń ŃŠµŠ²ŠøŠ·ŠøŠø
- 7.2 ŠŠ½ŃŠµŃŠ°ŠŗŃивное ŠøŠ½Š“ŠµŠŗŃŠøŃование
- 7.3 ŠŃŠøŠæŃŃŃŃŠ²Š°Š½ŠøŠµ Šø Š¾ŃŠøŃŃŠŗŠ°
- 7.4 ŠŠ¾Š“пиŃŃ
- 7.5 ŠŠ¾ŠøŃŠŗ
- 7.6 ŠŠµŃезапиŃŃ ŠøŃŃŠ¾ŃŠøŠø
- 7.7 Š Š°ŃŠŗŃŃŃŠøŠµ ŃŠ°Š¹Š½ reset
- 7.8 ŠŃоГвинŃŃŠ¾Šµ ŃŠ»ŠøŃние
- 7.9 Rerere
- 7.10 ŠŠ±Š½Š°ŃŃŠ¶ŠµŠ½ŠøŠµ Š¾ŃŠøŠ±Š¾Šŗ Ń ŠæŠ¾Š¼Š¾ŃŃŃ Git
- 7.11 ŠŠ¾Š“Š¼Š¾Š“ŃŠ»Šø
- 7.12 ДозГание ŠæŠ°ŠŗŠµŃŠ¾Š²
- 7.13 ŠŠ°Š¼ŠµŠ½Š°
- 7.14 Š„ŃŠ°Š½ŠøŠ»ŠøŃе ŃŃŃŃŠ½ŃŃ Š“Š°Š½Š½ŃŃ
- 7.15 ŠŠ°ŠŗŠ»ŃŃŠµŠ½ŠøŠµ
-
8. ŠŠ°ŃŃŃŠ¾Š¹ŠŗŠ° Git
-
9. Git Šø Š“ŃŃŠ³ŠøŠµ ŃŠøŃŃŠµŠ¼Ń конŃŃŠ¾Š»Ń веŃŃŠøŠ¹
-
10. Git изнŃŃŃŠø
- 10.1 Š”Š°Š½ŃŠµŃ ника Šø ФаŃŃŠ¾Ń
- 10.2 ŠŠ±ŃекŃŃ Git
- 10.3 Š”ŃŃŠ»ŠŗŠø в Git
- 10.4 Pack-ŃŠ°Š¹Š»Ń
- 10.5 Š”ŠæŠµŃŠøŃŠøŠŗŠ°ŃŠøŠø ŃŃŃŠ»Š¾Šŗ
- 10.6 ŠŃŠ¾ŃŠ¾ŠŗŠ¾Š»Ń ŠæŠµŃŠµŠ“Š°ŃŠø ГаннŃŃ
- 10.7 ŠŠ±ŃŠ»ŃŠ¶ŠøŠ²Š°Š½ŠøŠµ ŃŠµŠæŠ¾Š·ŠøŃŠ¾ŃŠøŃ Šø воŃŃŃŠ°Š½Š¾Š²Š»ŠµŠ½ŠøŠµ ГаннŃŃ
- 10.8 ŠŠµŃŠµŠ¼ŠµŠ½Š½ŃŠµ окŃŃŠ¶ŠµŠ½ŠøŃ
- 10.9 ŠŠ°ŠŗŠ»ŃŃŠµŠ½ŠøŠµ
-
A1. ŠŃиложение A: Git в Š“ŃŃŠ³ŠøŃ окŃŃŠ¶ŠµŠ½ŠøŃŃ
- A1.1 ŠŃŠ°ŃŠøŃŠµŃŠŗŠøŠµ ŠøŠ½ŃŠµŃŃŠµŠ¹ŃŃ
- A1.2 Git в Visual Studio
- A1.3 Git в Visual Studio Code
- A1.4 Git в Eclipse
- A1.5 Git в IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.6 Git в Sublime Text
- A1.7 Git в Bash
- A1.8 Git в Zsh
- A1.9 Git в PowerShell
- A1.10 ŠŠ°ŠŗŠ»ŃŃŠµŠ½ŠøŠµ
-
A2. ŠŃиложение B: ŠŃŃŃŠ°ŠøŠ²Š°Š½ŠøŠµ Git в Š²Š°ŃŠø ŠæŃŠøŠ»Š¾Š¶ŠµŠ½ŠøŃ
- A2.1 Git ŠøŠ· команГной ŃŃŃŠ¾ŠŗŠø
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. ŠŃиложение C: ŠŠ¾Š¼Š°Š½Š“Ń Git
- A3.1 ŠŠ°ŃŃŃŠ¾Š¹ŠŗŠ° Šø ŠŗŠ¾Š½ŃŠøŠ³ŃŃŠ°ŃŠøŃ
- A3.2 ŠŠ»Š¾Š½ŠøŃование Šø ŃŠ¾Š·Š“ание ŃŠµŠæŠ¾Š·ŠøŃŠ¾ŃŠøŠµŠ²
- A3.3 ŠŃŠ½Š¾Š²Š½ŃŠµ команГŃ
- A3.4 ŠŠµŃвление Šø ŃŠ»ŠøŃниŃ
- A3.5 ДовмеŃŃŠ½Š°Ń ŃŠ°Š±Š¾Ńа Šø обновление ŠæŃоекŃов
- A3.6 ŠŃмоŃŃ Šø ŃŃŠ°Š²Š½ŠµŠ½ŠøŠµ
- A3.7 ŠŃлаГка
- A3.8 ŠŠ½ŠµŃение ŠøŃŠæŃавлений
- A3.9 Š Š°Š±Š¾ŃŠ° Ń ŠæŠ¾Š¼Š¾ŃŃŃ ŃŠ»ŠµŠŗŃŃŠ¾Š½Š½Š¾Š¹ поŃŃŃ
- A3.10 ŠŠ½ŠµŃние ŃŠøŃŃŠµŠ¼Ń
- A3.11 ŠŠ“миниŃŃŃŠøŃование
- A3.12 ŠŠøŠ·ŠŗŠ¾ŃŃŠ¾Š²Š½ŠµŠ²Ńе команГŃ
4.7 Git на ŃŠµŃŠ²ŠµŃŠµ - GitWeb
GitWeb
ТепеŃŃ, когГа Šŗ Š²Š°ŃŠµŠ¼Ń ŠæŃŠ¾ŠµŠŗŃŃ Š½Š°ŃŃŃŠ¾ŠµŠ½ ГоŃŃŃŠæ Š½Š° ŃŃŠµŠ½ŠøŠµ/запиŃŃ Šø ŃŠ¾Š»Ńко на ŃŃŠµŠ½ŠøŠµ, Š²ŠµŃŠ¾ŃŃŠ½Š¾, Š²Ń Š·Š°Ń Š¾ŃŠøŃе наŃŃŃŠ¾ŠøŃŃ ŠæŃŠ¾ŃŃŠ¾Š¹ веб-Š²ŠøŠ·ŃŠ°Š»ŠøŠ·Š°ŃоŃ. ŠŠ»Ń ŃŃŠ¾Š¹ ŃŠµŠ»Šø в ŠŗŠ¾Š¼ŠæŠ»ŠµŠŗŃе Ń Git поŃŃŠ°Š²Š»ŃеŃŃŃ CGI-ŃŃŠµŠ½Š°Ńий GitWeb.

ŠŃли Š²Ń Ń
Š¾ŃŠøŃе ŠæŠ¾ŃŠ¼Š¾ŃŃŠµŃŃ ŠŗŠ°Šŗ Š±ŃŠ“ŠµŃ Š²ŃŠ³Š»ŃГеŃŃ Š²Š°Ń ŠæŃŠ¾ŠµŠŗŃ в GitWeb, в Git еŃŃŃ ŃŃŠ°Š½Š“аŃŃŠ½Š°Ń команГа Š“Š»Ń Š·Š°ŠæŃŃŠŗŠ° Š²ŃŠµŠ¼ŠµŠ½Š½Š¾Š³Š¾ ŃŠŗŠ·ŠµŠ¼ŠæŠ»ŃŃŠ°, оГнако она ŃŃŠµŠ±ŃŠµŃ Š½Š°Š»ŠøŃŠøŃ ŃŃŃŠ°Š½Š¾Š²Š»ŠµŠ½Š½Š¾Š³Š¾ веб-ŃŠµŃŠ²ŠµŃŠ°, ŃŠ°ŠŗŠ¾Š³Š¾ как lighttpd
или webrick
.
ŠŠ°Šŗ ŠæŃŠ°Š²ŠøŠ»Š¾, на Š¼Š°ŃинаŃ
Ń Linux lighttpd
ŃŠ¶Šµ ŃŃŃŠ°Š½Š¾Š²Š»ŠµŠ½, поŃŃŠ¾Š¼Ń Š²Ń ŃŠ¼Š¾Š¶ŠµŃе его запŃŃŃŠøŃŃ, Š²ŃŠæŠ¾Š»Š½ŠøŠ² ŠŗŠ¾Š¼Š°Š½Š“Ń git instaweb
в ŠŗŠ°Ńалоге Ń Š²Š°ŃŠøŠ¼ ŠæŃŠ¾ŠµŠŗŃом.
ŠŃли Š²Ń ŠøŃŠæŠ¾Š»ŃŠ·ŃŠµŃŠµ Mac, Leopard поŃŃŠ°Š²Š»ŃеŃŃŃ Ń ŠæŃŠµŠ“ŃŃŃŠ°Š½Š¾Š²Š»ŠµŠ½Š½Ńм Ruby, поŃŃŠ¾Š¼Ń webrick
Š¼Š¾Š¶ŠµŃ Š±ŃŃŃ Š»ŃŃŃŠøŠ¼ Š²ŃŠ±Š¾Ńом.
Š§ŃŠ¾Š±Ń запŃŃŃŠøŃŃ instaweb
не Ń ligttpd ŠøŃŠæŠ¾Š»ŃŠ·ŃŠ¹ŃŠµ ŠæŠ°ŃŠ°Š¼ŠµŃŃ --httpd
.
$ git instaweb --httpd=webrick
[2009-02-21 10:02:21] INFO WEBrick 1.3.1
[2009-02-21 10:02:21] INFO ruby 1.8.6 (2008-03-03) [universal-darwin9.0]
ŠŃо запŃŃŃŠøŃ ŃŠµŃŠ²ŠµŃ HTTPD на поŃŃŃ 1234, а Š·Š°Ńем Š¾ŃŠŗŃŠ¾ŠµŃ ŃŃŃ ŃŃŃŠ°Š½ŠøŃŃ Š² веб-Š±ŃŠ°ŃŠ·ŠµŃŠµ.
ŠŠ°Šŗ Š²ŠøŠ“ŠøŃŠµ, Š½ŠµŃ Š½ŠøŃŠµŠ³Š¾ ŃŠ»Š¾Š¶Š½Š¾Š³Š¾.
ŠŠ¾Š³Š“а Š²Ń Š·Š°ŠŗŠ¾Š½ŃŠøŠ»Šø Šø Ń
Š¾ŃŠøŃе оŃŃŠ°Š½Š¾Š²ŠøŃŃ ŃŠµŃвеŃ, запŃŃŃŠøŃе ŃŃ Š¶Šµ ŠŗŠ¾Š¼Š°Š½Š“Ń Ń ŠæŠ°ŃŠ°Š¼ŠµŃŃŠ¾Š¼ --stop
:
$ git instaweb --httpd=webrick --stop
ŠŃли Š²Ń Ń
Š¾ŃŠøŃе имеŃŃ ŠæŠ¾ŃŃŠ¾Ńнно ŃŠ°Š±Š¾ŃаŃŃŠøŠ¹ веб-ŠøŠ½ŃŠµŃŃŠµŠ¹Ń на ŃŠµŃŠ²ŠµŃŠµ Š“Š»Ń Š²Š°ŃŠµŠ¹ ŠŗŠ¾Š¼Š°Š½Š“Ń ŠøŠ»Šø ŠæŃŠµŠ“оŃŃŠ°Š²Š»ŃŃŃ Ń
оŃŃŠøŠ½Š³ Š“Š»Ń ŠæŃŠ¾ŠµŠŗŃа Ń Š¾ŃŠŗŃŃŃŃŠ¼ коГом, вам необŃ
оГимо поГклŃŃŠøŃŃ CGI-ŃŃŠµŠ½Š°Ńий на Š²Š°Ńем веб-ŃŠµŃŠ²ŠµŃŠµ.
Š Š½ŠµŠŗŠ¾ŃŠ¾ŃŃŃ
ГиŃŃŃŠøŠ±ŃŃŠøŠ²Š°Ń
Linux еŃŃŃ ŠæŠ°ŠŗŠµŃ gitweb
, ŠŗŠ¾ŃŠ¾ŃŃŠ¹ Š²Ń Š¼Š¾Š¶ŠµŃŠµ ŃŃŃŠ°Š½Š¾Š²ŠøŃŃ, ŠøŃŠæŠ¾Š»ŃŠ·ŃŃ apt
или dnf
, ŃŠ°Šŗ ŃŃŠ¾ Š²Ń Š¼Š¾Š¶ŠµŃŠµ ŠæŠ¾ŠæŃŠ¾Š±Š¾Š²Š°ŃŃ ŃŠ½Š°Ńала ŃŃŠ¾Ń ŃŠæŠ¾ŃŠ¾Š±.
ŠŃ же Š²ŠŗŃаŃŃŠµ ŃŠ°ŃŃŠ¼Š¾ŃŃŠøŠ¼ ŃŃŃŠ½ŃŃ ŃŃŃŠ°Š½Š¾Š²ŠŗŃ GitWeb.
ŠŠ»Ń Š½Š°ŃŠ°Š»Š° вам Š½Ńжно ŃŠŗŠ°ŃаŃŃ ŠøŃŃ
Š¾Š“Š½ŃŠ¹ коГ Git, Ń ŠŗŠ¾ŃŠ¾ŃŃŠ¼ поŃŃŠ°Š²Š»ŃеŃŃŃ GitWeb, Šø ŃŠ³ŠµŠ½ŠµŃŠøŃŠ¾Š²Š°ŃŃ CGI-ŃŃŠµŠ½Š°Ńий поГ ŃŠ²Š¾Ń ŃŠøŃŃŠµŠ¼Ń:
$ git clone git://git.kernel.org/pub/scm/git/git.git
$ cd git/
$ make GITWEB_PROJECTROOT="/srv/git" prefix=/usr gitweb
SUBDIR gitweb
SUBDIR ../
make[2]: 'GIT-VERSION-FILE' is up to date.
GEN gitweb.cgi
GEN static/gitweb.js
$ sudo cp -Rf gitweb /var/www/
ŠŠ¾Š¼Š½ŠøŃе, ŃŃŠ¾ Š²Ń Š“Š¾Š»Š¶Š½Ń ŃŠŗŠ°Š·Š°ŃŃ ŠŗŠ¾Š¼Š°Š½Š“Šµ гГе ŃŠ°ŃŠæŠ¾Š»Š¾Š¶ŠµŠ½Ń Š²Š°ŃŠø ŃŠµŠæŠ¾Š·ŠøŃŠ¾ŃŠøŠø Git Ń ŠæŠ¾Š¼Š¾ŃŃŃ ŠæŠµŃŠµŠ¼ŠµŠ½Š½Š¾Š¹ GITWEB_PROJECTROOT
.
ТепеŃŃ Š²Ń Š“Š¾Š»Š¶Š½Ń Š½Š°ŃŃŃŠ¾ŠøŃŃ Apache на ŠøŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°Š½ŠøŠµ ŃŃŠ¾Š³Š¾ CGI-ŃŃŠµŠ½Š°ŃŠøŃ, Š“Š»Ń ŃŠµŠ³Š¾ Š²Ń Š¼Š¾Š¶ŠµŃŠµ ГобавиŃŃ Š²ŠøŃŃŃŠ°Š»ŃŠ½ŃŠ¹ Ń
оŃŃ:
<VirtualHost *:80>
ServerName gitserver
DocumentRoot /var/www/gitweb
<Directory /var/www/gitweb>
Options +ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
AllowOverride All
order allow,deny
Allow from all
AddHandler cgi-script cgi
DirectoryIndex gitweb.cgi
</Directory>
</VirtualHost>
ŠŠ¾Š²ŃоŃŃŃŃ, GitWeb Š¼Š¾Š¶ŠµŃ Š±ŃŃŃ ŃŃŃŠ°Š½Š¾Š²Š»ŠµŠ½ на Š»Ńбой веб-ŃŠµŃвеŃ, ŃŠ¾Š²Š¼ŠµŃŃŠøŠ¼Ńй Ń CGI или Perl; ŠµŃŠ»Šø Š²Ń ŠæŃŠµŠ“ŠæŠ¾ŃŠøŃŠ°ŠµŃŠµ ŠøŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°ŃŃ ŃŃŠ¾-ŃŠ¾ Š“ŃŃŠ³Š¾Šµ, наŃŃŃŠ¾Š¹ŠŗŠ° не Голжна ŃŃŠ°ŃŃ Š“Š»Ń Š²Š°Ń ŠæŃŠ¾Š±Š»ŠµŠ¼Š¾Š¹.
Š ŃŃŠ¾Š¼Ń моменŃŃ Š²Ń Š“Š¾Š»Š¶Š½Ń ŠøŠ¼ŠµŃŃ Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃŃ Š·Š°Š¹ŃŠø на http://gitserver/
Š“Š»Ń ŠæŃŠ¾ŃмоŃŃŠ° Š²Š°ŃŠøŃ
ŃŠµŠæŠ¾Š·ŠøŃŠ¾ŃŠøŠµŠ² онлайн.