Репозиторій та історія

Граф комітів

Гілки, злиття та восьминожні злиття, намальовані як належить, у світлій чи темній темі. Рендеринг віконний, тож репозиторій зі ста тисячами комітів прокручується так само, як репозиторій із сотнею.

Граф комітів, світла тема Граф комітів, темна тема

Переміщення

  • ↑ ↓ (або j k) рухають виділення.
  • ⌘/Ctrl-клік додає коміт до множинного вибору чи прибирає з нього; ⇧-клік бере діапазон. Коли вибрано кілька, клацніть правою кнопкою, щоб зробити cherry-pick на поточну гілку, сквошнути неперервну послідовність, експортувати один зведений патч або скопіювати їхні SHA.
  • Коміти, що прийшли з вашим останнім фетчем чи пулом, позначені як нові. Ті, що ще не потрапили до поточної гілки, лишаються трохи напівпрозорими, доки їх не забере пул.
  • Правий клік по коміту дає Виправити, Скасувати, Скинути до коміта… та Переглянути на GitHub, а на додачу checkout, cherry-pick, revert, гілку, тег і копіювання. Небезпечні дії лишаються видимими й вимикаються.

Як показати саме те, що вам треба

  • Фокус графа вирішує, скільки історії малюється — Налаштування → Теми → Граф або меню шестерні в шапці графа. Усе малює все; Лінійна історія (перший батько) лишає тільки стовбур; Сховати злиті гілки лишає стовбур плюс ще не злиті гілки; Соло-режим лишає вашу гілку, обрані гілки та типову гілку.

    Фільтрується лише те, що журнал уже завантажив. Сховати злиті гілки покладається на відповідь самого git на «уже міститься в поточній гілці», тож зміна гілки змінює результат — і цей режим зберігає кожен коміт, на який ще вказує тег або незнайоме посилання, тобто саме те, що лишає видалена гілка. Лінійна історія та Соло-режим грубіші: тег або схованка на схованому коміті зникає разом із ним.

  • Фільтр за шляхом: правий клік на файлі чи теці → Фільтрувати граф за цим шляхом, і підсвіченими лишаються тільки коміти, що його торкалися.

Граф, звужений до одного шляху

  • Колонки: показуйте, ховайте, змінюйте розмір і порядок колонок гілки, повідомлення, автора, дати, SHA, підпису й розгортання.
  • Стиль: Налаштування → Теми → Граф — палітра доріжок (8 вбудованих, власна або згенерована ШІ), стиль кутів, щільність рядків і товщина ліній, із живим попереднім переглядом міні-графа.

Налаштування стилю графа з живим попереднім переглядом

Де сидять схованки

Схованка малюється окремим рядком, звисаючи пунктирним відростком з коміта, з якого її зняли, щоб не зсувати стовбур. Вона потрапляє в рядок просто над цим батьківським комітом, а не в слот, який дала б її власна позначка часу.

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

Схованка майже завжди новіша за коміт, на якому сидить, тож порядок за датою підняв би її серед чужих комітів і протягнув би трос через півграфа. Батько — єдиний рядок, до якого схованка справді стосується, тому вона лишається поруч.

Межа: схованка, чий батьківський коміт не в завантаженому вікні — обрізаний або за кінцем журналу — не має за що зачепитися й падає на порядок за датою, поки батько не завантажиться. Лінійна історія та Соло-режим відкидають схованку, чийого батька вони відкидають, як сказано вище.

Деталі коміта

Вибір коміта показує його змінені файли (деревом або списком), автора, SHA, співавторів і його підпис. Заголовок над списком файлів розбиває число за видом, тими самими кольорами, що в гліфів у рядках. Наведіть, щоб побачити звичайну суму. Посилання #123 та @mentions автоматично перетворюються на посилання до вашого хостингу.

Список файлів виділяється групами звичними жестами (клік із ⌘/Ctrl, клік із ⇧, ⇧+↑/↓). Правий клік по виділенню → Відновити {n} файлів у робоче дерево бере ці файли точно такими, якими їх мав цей коміт: після одного підтвердження робочі копії перезаписуються, а HEAD та індекс лишаються недоторканими.

Перегляд деталей коміта

Дивіться також: Blame та історія файлу · Пошук · Машина часу

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