Гілки та хірургія

Злиття та ребейз

З бічної панелі

Клацніть правою кнопкою по гілці, щоб отримати Злити в поточну або Ребейзнути на — чи Злити з параметрами…, коли звичайне злиття раз за разом дає збій; див. параметри злиття.

Перетягніть один реф на інший

Найшвидший жест у застосунку: візьміть гілку й киньте її на іншу. Gitcito відкриє невелике меню з тим, що це кидання може означати, і не зробить нічого, доки ви не оберете.

Перетягування однієї гілки на іншу відкриває меню з тим, що це кидання може означати

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

Кидання Означає
Злити {source} → {target} Робить чекаут цілі й зливає в неї джерело
Ребейзнути {source} на {target} Відтворює коміти джерела поверх цілі
Порівняти Відкриває порівняння — не змінює нічого

Меню пропонує лише те, що git уміє. Злиття комітить у ціль, тож ціль має бути локальною гілкою — злити в тег чи у стежачий віддалений реф не можна. Ребейз переписує джерело, тож джерелом має бути локальна гілка. Киньте тег на віддалену гілку — і вам запропонують саме Порівняти, бо це чесно все, що тут є.

Ребейз спершу питає підтвердження: він дає кожному відтвореному коміту новий хеш, а це означає force push, якщо гілку вже опубліковано. Злиття не питає — воно лише додає. У будь-якому разі одне Скасувати повертає вас назад.

Злиття

Fast-forward, коли це можливо, або примусовий коміт злиття, коли ви хочете зафіксувати топологію. Якщо виникне конфлікт, ви опинитеся у розв’язувачі.

Порівняти два будь-які рефи

Оберіть базовий реф і реф для порівняння — гілку, тег чи сирий SHA, з кнопкою обміну місцями — і отримаєте лічильники попереду/позаду, коміти, унікальні для кожного боку, повний зведений діф і передачу в відкрити PR одним кліком.

Порівняння двох гілок: що унікальне для кожного боку і зведений діф

Доступно з бічної панелі (порівняти з поточною гілкою), з меню Інструменти або через ⌘K.

Cherry-pick, revert, reset

Cherry-pick і revert, як і завжди, живуть у контекстному меню графа. Reset — це один пункт, Скинути до коміта…, замість трьох сирих пунктів soft/mixed/hard, що суперечили один одному.

Amend, скасування та скидання сидять угорі меню одиночного коміта й лишаються видимими, коли вони небезпечні: вони вимикаються, а підказка пояснює чому. Скасування — лише для ненадісланого HEAD; amend дозволено й на опублікованому HEAD, але з попередженням, що знадобиться force push. Скидання сягає лише локальних предків плюс першого опублікованого коміта — а не довільної давнішої історії.

Діалог скидання робить режим явним:

Діалог «Скинути до коміта» з розписаними трьома режимами

Режим Результат
Soft Залишити зміни в індексі
Mixed Залишити зміни поза індексом
Hard Відкинути коміти та їхні зміни

Hard ніколи не вибрано наперед. Брудне робоче дерево дістає додаткове попередження, бо скидання може перезаписати роботу в процесі або конфліктувати з нею. Переглянути на GitHub живе поруч із діями копіювання й відкривається лише для опублікованих комітів на ремоуті github.com.

Виділіть спершу кілька комітів — і cherry-pick застосує весь вибір, по черзі.

Перш ніж щось зливати

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

Дивіться також: Інтерактивний ребейз · Стеки гілок · Радар конфліктів

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