-
1. Начало
- 1.1 За Version Control системите
- 1.2 Кратка история на Git
- 1.3 Какво е Git
- 1.4 Конзолата на Git
- 1.5 Инсталиране на Git
- 1.6 Първоначална настройка на Git
- 1.7 Помощна информация в Git
- 1.8 Обобщение
-
2. Основи на Git
-
3. Клонове в Git
-
4. Git на сървъра
- 4.1 Комуникационни протоколи
- 4.2 Достъп до Git на сървъра
- 4.3 Генериране на SSH публичен ключ
- 4.4 Настройка на сървъра
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Други опции за хостване
- 4.10 Обобщение
-
5. Git в разпределена среда
-
6. GitHub
-
7. Git инструменти
- 7.1 Избор на къмити
- 7.2 Интерактивно индексиране
- 7.3 Stashing и Cleaning
- 7.4 Подписване на вашата работа
- 7.5 Търсене
- 7.6 Манипулация на историята
- 7.7 Мистерията на командата Reset
- 7.8 Сливане за напреднали
- 7.9 Rerere
- 7.10 Дебъгване с Git
- 7.11 Подмодули
- 7.12 Пакети в Git (Bundling)
- 7.13 Заместване
- 7.14 Credential Storage система
- 7.15 Обобщение
-
8. Настройване на Git
- 8.1 Git конфигурации
- 8.2 Git атрибути
- 8.3 Git Hooks
- 8.4 Примерна Git-Enforced политика
- 8.5 Обобщение
-
9. Git и други системи
- 9.1 Git като клиент
- 9.2 Миграция към Git
- 9.3 Обобщение
-
10. Git на ниско ниво
- 10.1 Plumbing и Porcelain команди
- 10.2 Git обекти
- 10.3 Git референции
- 10.4 Packfiles
- 10.5 Refspec спецификации
- 10.6 Транспортни протоколи
- 10.7 Поддръжка и възстановяване на данни
- 10.8 Environment променливи
- 10.9 Обобщение
-
A1. Приложение A: Git в други среди
- A1.1 Графични интерфейси
- A1.2 Git във Visual Studio
- A1.3 Git във Visual Studio Code
- A1.4 Git in IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.5 Git в Sublime Text
- A1.6 Git в Bash
- A1.7 Git в Zsh
- A1.8 Git в PowerShell
- A1.9 Обобщение
-
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 Snapshotting
- A3.4 Клонове и сливане
- A3.5 Споделяне и обновяване на проекти
- A3.6 Инспекция и сравнение
- A3.7 Дебъгване
- A3.8 Patching
- A3.9 Email команди
- A3.10 Външни системи
- A3.11 Административни команди
- A3.12 Plumbing команди
A3.2 Приложение C: Git команди - Издърпване и създаване на проекти
Издърпване и създаване на проекти
Има два начина за сдобиване с Git хранилище. Единият е да го копираме от налично такова в мрежата или където и да се намира. Другият е да си го създадем от налична директория.
git init
За да вземем произволна директория и да я превърнем в Git хранилище, просто изпълняваме git init
.
Показахме това първо в Създаване на Git хранилище, където създадохме ново хранилище, по което да работим.
Накратко споменахме как можем да сменим името на клона по подразбиране от “master” до друго такова в Отдалечени клонове.
Използваме тази команда и за създаване на празно bare хранилище на сървъра в Изпращане на Bare хранилище към сървъра.
Последно, погледнахме какво командата прави задкулисно в Plumbing и Porcelain команди.
git clone
Командата git clone
по същество е нещо като wrapper около няколко други команди.
Тя създава нова директория, влиза в нея и изпълнява git init
за да създаде празно Git хранилище, след това добавя remote (git remote add
) към URL-а, който ѝ подавате (по подразбиране с име origin
), изпълнява git fetch
от това отдалечено хранилище и извлича в работната ви директория най-новия къмит с git checkout
.
git clone
се използва на цял куп места в книгата, ще изброим само най-интересните.
Командата бе представена и обяснена в Клониране на съществуващо хранилище, където дадохме няколко примера.
В Достъп до Git на сървъра погледнахме опцията --bare
за създаване на Git хранилище без работна директория.
В Пакети в Git (Bundling) я използвахме за да възстановим пакетирано Git хранилище.
В Клониране на проект с подмодули научихме за опцията --recurse-submodules
, с чиято помощ улесняваме клонирането на хранилище с подмодули.
Въпреки, че командата се използва на много други места в книгата, гореизброените са тези, при които тя се използва по по-различен и специфичен начин.