Початок роботи

Клонування

Новий репозиторій → Клонувати або ⌘K → Клонувати. Вставте URL — або увійдіть у GitHub, GitLab, Bitbucket чи Azure DevOps і виберіть зі своїх власних репозиторіїв: токен обраного профілю використовується для клонування, а потім відкидається й ніколи не потрапляє в .git/config.

Виберіть батьківську теку й назву; рядок під полями показує, куди саме потрапить репозиторій. Тека, яка вже існує, отримує відмову, а не злиття вмісту.

Додатково — як звузити клон

Усе під Додатково типово вимкнено: не чіпайте його — і ви отримаєте звичайний, повний клон. Свою вагу ці опції виправдовують на репозиторіях, де «повний» означає двадцять хвилин і кілька гігабайтів.

Діалог клонування з розкритим розділом «Додатково»: частковий, неглибокий, лише одна гілка, сабмодулі та вибір гілки

Опція Що робить git Чого це коштує
Частковий клон --filter=blob:none Уся історія, без вмісту файлів. Блоби приходять на вимогу, тож щоб відкрити старий файл, потрібна мережа.
Неглибокий клон --depth=N Існують лише N найновіших комітів. Blame, лог, bisect і range-diff зупиняються на зрізі.
Лише одна гілка --single-branch Решта гілок лишається на ремоуті, доки ви їх не зафетчите.
Клонувати сабмодулі --recurse-submodules Кожен сабмодуль теж вичитується — більше часу зараз, жодних відсутніх тек потім.
Гілка для чекауту --branch <name> Починає з цієї гілки замість типової гілки ремоута.

Частковий перед неглибоким. Частковий клон зберігає кожен коміт — історія лишається придатною для пошуку, і лише вміст файлів фетчиться ліниво. Неглибокий клон історію справді викидає: git log закінчується на зрізі, і blame не бачить далі. Якщо ви клонуєте монорепозиторій, щоб у ньому працювати, то зазвичай вам потрібен саме частковий.

Неглибокість оборотна: git fetch --unshallow у терміналі заповнює історію назад.

Вибір гілки

Наберіть назву гілки або натисніть Показати гілки, щоб запитати в ремоута, що в нього є (git ls-remote --heads), і вибрати зі списку. Це один похід у мережу, і робиться він тільки тоді, коли ви натиснули кнопку — поки ви друкуєте, нічого не запитується.

Якщо перелічити не вдалося — приватний URL, для якого ще немає токена, друкарська помилка, немає мережі — поле лишається звичайним текстовим, а сам клон повідомить справжню помилку.

Дві примітки про прапорці

  • --depth неявно вмикає --single-branch. У неглибокому клоні залишити Лише одна гілка без позначки — це якраз і є прохання повернути решту гілок (--no-single-branch), тому підказка під цією опцією змінюється.
  • Клонування локальної теки зазвичай ігнорує --depth цілком, бо git робить жорсткі посилання на сховище об’єктів замість того, щоб фетчити. Коли ви просите неглибоку копію локального репозиторію, Gitcito клонує через file:// URL, тож глибина, яку ви попросили, — це глибина, яку ви отримаєте.

Прогрес

Смуга звітує те, що звітує git: підрахунок, стиснення, отримання, розв’язування, чекаут. Стадія, яка не може повідомити загальну кількість, показує невизначену смугу, а не фальшивий відсоток.

Новий репозиторій відкривається у вкладці, закріпленій за профілем, з яким ви клонували.

Покращити цей переклад на GitHub