Що таке галузь теми git?


137

Що таке галузь теми git? Чи відрізняється вона від звичайної гілки в чомусь? Чи є гілки, які не є тематичними галузями?

Відповіді:


114

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

Інший тип гілки - "віддалена гілка" або "відділення дистанційного відстеження". Цей тип філії слідкує за розвитком чужої роботи і зберігається у вашому власному сховищі. Ви періодично оновлюєте цю гілку (використовуючи git fetch) для відстеження того, що відбувається в інших місцях. Коли ви готові наздогнати всі зміни інших, ви б хотіли git pullотримати і об'єднатись.

Я також бачив інший вид гілки, який по суті є повністю окремим деревом файлів у тому ж сховищі. Наприклад, сам репозиторій Git містить глави з іменем man та html, які містять зовсім інший вміст від гілки master . Я не знаю, як зазвичай називають такі типи гілок.


6
Я шукав, як мати дві гілки без спільного вчинку
Nicolas

1
Напишіть окреме дерево, я вважаю, що їх іноді називають сирітською гілкою, подібно до того, як Github рекомендує створити сторінку github вручну
макс

1
Чому, на вашу думку, тематична галузь повинна бути локальною? Немає підстав думати, що ви, можливо, не захочете просунути тему. І, подібним чином, інші розробники можуть створити свої власні тематичні гілки, і ви, мабуть, захочете їх витягнути. Ця відповідь, схоже, бентежить дві абсолютно не пов'язані між собою властивості гілок: місцевість чи локальність чи взагалі не пов’язана з тим, чи це галузь теми.
Жан-Поль Кальдероне

@ Jean-PaulCalderone: Я не думаю, що я сказав, що тематичні гілки повинні бути локальними. Можна, звичайно, відстежувати галузь теми, якщо над нею працює більше одного розробника.
Грег Хьюгілл

2
Я думаю, що відповідь це передбачає. Чому "... що ви створюєте локально ..." та "... маєте ім'я, яке має для вас значення". невід'ємна частина того, що складає "галузь теми"? Перше речення вашої відповіді настійно говорить про те, що це важливі особливості галузевої теми, але вони насправді є ортогональними щодо "тематичності" гілки. Наступний абзац, де ви описуєте "віддалені гілки", знову закріплює думку про те, що "створена локально" частина тематичної гілки є важливою. Я пропоную переосмислити цю відповідь, щоб підкреслити ці непов'язані між галузевими ознаками.
Жан-Поль Кальдероне

81

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


2
так. на відміну від особистої гілки, де у вас є гілки: bob, alice, mat і т.д.
webmat

... значить, тематична галузь та галузь функцій - це одне і те ж, правда?
Betlista

@Betlista Більше чи менше, так.
mipadi

28

https://github.com/dchelimsky/rspec/wiki/Topic-Branches це добре пояснює:

Гілка "тема" - це окрема гілка, яку ви використовуєте під час роботи над однією "темою" (виправлення помилки, нова функція або експериментальна ідея). Рекомендується працювати над темою, а не безпосередньо над "майстром", оскільки:

{... посилання на відвідування ...}

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

Цей зразок також наводить приклади. Що насправді змусило мене задуматися, це, мабуть, те, що вже робить більшість магазинів. Всі гнучкі проекти, з якими я коли-небудь був. Я підтримав "Це не технічний термін", бо відчуваю, що це вдарило цвяхом по голові.


4

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

Це, мабуть, правильно для вас, але це стосується вас і проекту, про який ви думаєте; це не визначається Гітом.

Більшість систем управління версіями (особливо централізовані) передбачають або застосовують певний робочий процес, включаючи те, для чого має сенс використовувати гілку. Git (і певною мірою більшість розподілених VCS) вважає, що робочий процес, для яких гілок використовується, коли здійснювати, для чого використовуються різні репозитори тощо, все обирають користувачі та угоди між користувачами (політики). Таким чином, Git не виконує їх технічно.

Це одна з речей, через яку Git важко навчався. Олівер Стіл пояснив це з погляду користувача, написавши про " Політику зв'язати" .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.