У Git філія - це лише упорядкований список комітетів (він же: чекіни). Що може бути дещо заплутаним для нових користувачів, це те, що гілки не повинні мати ім’я (хоча в більшості випадків ви хочете таке); і немає нічого особливого у будь-якій конкретній гілці ( master
гілка є лише типовою, що створена для вас під час ініціалізації сховища).
Ви, напевно, це вже знаєте, але Git відрізняється від деяких інших систем управління версіями, як-от популярна "Subversion", тому що кожна "робоча копія" (мовою Subversion) є власним сховищем ... насправді, нічого особливо немає спеціальне про будь-яку конкретну копію; за винятком того, що одна копія була загально узгоджена як "канонічна", яка використовується для зберігання кінцевого продукту.
Отже, повернемось до вашого питання ... "канонічний" сховище, яке ви клонували, коли ви запускали локальну копію, містило за замовчуванням гілку "master"; і він застряг навколо. Тепер, якщо у вас був доступ до комп'ютера, який містить головне сховище, ви можете увійти та запустити:
git branch -d master
Однак якщо ви не можете цього зробити, ви все одно можете зробити це на своїй локальній машині. У git branch
команди є -r
параметр, який впливає на віддалений сховище. Іншими словами, виконання наступної команди повинно працювати:
git branch -d -r master
Зауважте, що в обох цих випадках; Я припускаю, що master
це повністю об'єднано в історію розвитку, в якій зараз сидить ваша місцева копія. Якщо ви ніколи master
раніше не використовували (тобто: ви коли-небудь зареєструвались development
або production
), вам нічого не турбуватися. Однак якщо ви (чи хтось інший) перевіряли речі, у master
вас можуть виникнути проблеми. Ви можете примусити видалити, змінивши -d
на -D
в наведених вище командах; але настійно рекомендую перевірити, щоб побачити, що master
заздалегідь! Якщо у вас немає доступу до віддаленого комп'ютера, ви, ймовірно, не зможете відновити його!
Між іншим; якщо ви (або хтось інший) новачок у Git, я настійно рекомендую прочитати Git з Дна Джона Віглі . Незважаючи на те, що я трохи використовував Git самостійно, перш ніж знайшов цю статтю, я не дуже розумів, як вона працює, поки не прочитала її. Це цілком корисно!
git branch -d -r master
більше не видаляє віддалену гілку - вона видаляє знання локальної копії про віддалену гілку. Наступного разу, коли виgit fetch
, гілка повернеться! Замість цього вам захочеться бігтиgit push origin :master
. По суті, те, що ви тут робите, - це переміщення нульової гілки (порожня назва гілки зліва від:
) над верхньою частиною віддаленої гілки (назва гілки праворуч від:
), фактично видаляючи її.