Чи повинен я назавжди зберігати свої сховища GitHub?


314

Тож я відправив чуже сховище, вніс декілька змін, надіслав запит на витяг, і мої зміни внесли його до продукту. Чудово!

Але ... що мені робити зі своїм роздрібненим сховищем? Чи є для мене вагома причина зберегти сховище, чи мені слід продовжувати його та видаляти? Я не планую вносити будь-які додаткові внески, але якщо я передумаю, я припускаю, що завжди можу це зробити ще раз.

Я не дуже переймаюся збереженням резервної копії. Мене більше турбує розрив посилань, втрата повідомлень про прихильність тощо.


80
Видаліть його, інакше в Github не буде хешей.
Арман

3
дублікат коду - це зло. І це також виходить за межі git.
стинь

7
@stijn - я читав це більше як "резервне копіювання", ніж "дублікат". І я не думаю, що я ніколи не чув, щоб хтось стверджував, що резервний код - це зло ...
Beekguk,

3
Видаліть його. Зрештою, ви завжди можете завантажити останній стан (який саме ви хочете продовжувати працювати з будь-якого) з проекту репо.
Грак

Що станеться, якщо оригінальний РЕПО буде видалений і ні в кого не залишилося виделок? Як відновити доступ до репо / вилки в такому випадку?
Кромстер

Відповіді:


40

Видалення роздрібних сховищ видалить історію з ваших запитів на витяг.

PR з невідомим сховищем

Видалення роздвоєного сховища видалить будь-яку інформацію, пов’язану з вашим сховищем. Це може вплинути заднім числом на будь-які посилання на ваше сховище, включаючи запити на вилучення, які вже були об'єднані. (Див. Запит на витяг відображає "невідоме репо" після видалення виделки )

Ваші коментарі та зобов’язання повинні зберігатися на будь-яких запитах на виклики, пов’язані з вашим сховищем, але ви зробите це на свій страх і ризик.

Однак видалення старих гілок після злиття є абсолютно безпечним.

Хоча слід уникати видалення сховищ, видалення невикористаних гілок є цілком прийнятним. Насправді GitHub рекомендує видалити старі гілки .

Прибирання після запитів

У GitHub ми любимо використовувати Pull Requests весь день, щодня. Єдина біда в тому, що ми закінчуємо безліччю неіснуючих гілок після об'єднання або закриття запитів на витяг Час від часу хтось із нас очищав ці гілки зі сценарієм, але ми думали, що краще буде подбати про цей крок як частину нашого регулярного робочого процесу на GitHub.com.

Починаючи з сьогоднішнього дня, після об'єднання запиту на виклик, ви побачите кнопку для видалення затяжної гілки:

Видаліть цю гілку кнопки

Якщо Запит на витяг був закритий без злиття, кнопка буде виглядати дещо інакше, щоб попереджати про видалення неперевірених комісій:

Видалити гілку з попередженням

Звичайно, ви можете видалити гілки лише у сховищах, до яких у вас є доступ push.

Насолоджуйтесь своїми акуратними сховищами!

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

Дивитися також


1
Що саме відбувається з незакритими закритими запитами на витяг, коли ви видаляєте їх відділення (другий випадок у цитованій статті)? Чи будуть документи все ще доступні у запиті на виклик, лише без їх історії, або вони повністю втратяться?
друкарня


207

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

  1. Видалення нічого не шкодить.
  2. Ви завжди можете переформатувати, якщо вам потрібно
  3. Це скорочує марні репости в результатах пошуку, коли люди щось шукають
  4. Якщо ви використовуєте свій GitHub як своєрідне резюме для потенційних робочих місць / контрактів, краще, якщо у вас немає десятки роздрібних репостів, над якими ви зараз не працюєте. Ви будете здаватися ефективнішими.
  5. Це допомагає вашому розуму, коли вам не доведеться переглядати сотні марних репостів.
  6. Це краще для GitHub. :)

50
Єдиним недоліком у цьому є те, що запит на витяг покаже "об'єднану комісію <комісія> <repo>з unknown repositoryвід <дата>", що трохи дивно.
PLPeeters

18
@PLPeeters, насправді це досить великий мінус.
Pacerier

4
Я пропоную використовувати remove-github-forks"Видалити всі вилки, у яких немає комітів, які не знаходяться в головному сховищі." Працює як шарм.
fregante

3
@SteveMoser Можливо, я помиляюся, але я думаю, що ви все ще зберігаєте список "Репозиторії, до яких ви внесли свій внесок". У мене був такий, який я усунув між собою, і він все-таки залишився там якось, але це може бути справжньою мовою: P
Марк Пешек - Trilon.io

17
Я взяв на себе ризик і видалив розкладений сховище, і мій список внесених змін не постраждав, тому я можу з упевненістю сказати, що видалення forked repo не вплине на ваші внески
Амін Мохамед Аджані

76

Ви можете видалити свою виделку, як тільки ви подали Запит на витяг , незалежно від того, об’єднаний він чи ні. GitHub зберігає всі PR-адреси у верхньому сховищі , тобто запропоновані зміни відслідковуються, навіть якщо вилка видалена.

Це спрощує рішення.

Ви все ще можете зберегти вилку, якщо:

  • Ви будете робити внесок ще більше (наприклад, розширити існуючий PR або відкрити нові PR)

Ви можете видалити вилку, якщо:

  • Ви хочете чисте портфоліо проектів під своїм ім’ям

7
"Ви можете видалити свою виделку, як тільки ви надішлете свій запит на отримання" Це те, що я шукав!
Unnawut

Я теж, але відповідь починається з "Якщо ваш запит на притягнення був прийнятий ..." Ви спробували це: D
Легенди

4
Попередження : Коли ви видаляєте вилку, початкове ім'я гілки видаляється з будь-яких запитів на витягнення. ( Stevoisiak хоче об'єднати 1Drugoy:masterunknown repository
комісію

20

Я, ймовірно, tar / gzip і поклав би в архів, а потім видалити його через 3 роки. ;) Чесно кажучи, якщо ви не збираєтесь працювати над ним знову протягом наступних кількох місяців і не використовували її через деякий час, я думаю, це було б безпечно видалити.


9

Просто для додання наданих відповідей - GitHub рекомендує видалити ("прибирати") роздрібні сховища після їх об'єднання.

Це можна зробити прямо в запиті на витяг після об'єднання - перегляньте цю публікацію в блозі .

Крім того, станом на цей момент я не бачу жодних недоліків, помічених у коментарях:

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

Я б не рекомендував видаляти його перед об'єднанням, як запропонував @Dennis, оскільки вам, можливо, доведеться внести деякі зміни в код, якщо цього вимагають автори.


2
Щойно я видалив роздвоєний сховище, і запит на виклик тепер говорить unknown repository. Ну добре.
Крассі

10
Посилання переходить до статті, де пояснюється, як видалити гілку після успішного злиття PR; однак це питання задає питання про видалення сховища . Ви будете спостерігати за "невідомим сховищем" лише тоді, коли ви видалите власну вилку проекту ( сховище ).
stakx

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