Чому люди розщеплюють сховища на GitHub? [зачинено]


110

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

Я чув, як люди збирали марки та черепашки, але навіщо хтось хотів би збирати сховища? Особисто я б роздвоював сховище лише у тому випадку, якщо хотів би внести в нього деякі зміни.


84
вони хочуть забезпечити стабільну резервну копію, якщо власник проекту видалить свої репости та зникне
храповий вирод

9
Просто тому, що так працюють запити на тягнення в GitHub (і тому, що люди трохи задоволені вилами, а потім іноді забувають про це, або відмовляються від своєї ідеї проекту і забувають позбутися вилки)
haylem

2
просто коментар, наскільки я розумію, вони використовують як "резервну копію" коду, але вони забувають (або не знають), що оновлення сховища не впливає на "forks", коли вони повинні робити правильну fork (для резервного копіювання) і "Зірка" сховища, щоб знати, коли робити "повторну вилку", інакше кажучи, вони вважають, що "вилка" - це майже те саме, що і "Зірка", і не знає, що застарілий код.
Гільгерме Насіменто

1
Тому що вони чули, що мати Github достатньо, щоб прийняти на роботу при гарячому запуску.
Гай

1
Ось пост про шкоду безпричинного розпалювання zbowling.github.io/blog/2011/11/25/github
gavenkoa

Відповіді:


69

У нашій роботі ми прагнемо шукати технічні причини, але, на мою думку, головна причина не технічна. Якщо ви подивитеся на довідку GitHub чи інші підручники GitHub, розгортання репо - один з головних кроків того, як ви «робите» GitHub.

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


42
По лінії нетехнічних причин: Я кілька разів натискав на кнопку «виделка», сподіваючись побачити, хто роздрібнив репо, лише виявив, що я роздвоював її. Оупс! Не впевнений, чи зробили це те саме.
gdw2

53
@gdw: Викликаючи вас вигукувати: "О, виделка!"
Бен Джексон

1
Я пам'ятаю , коли я вперше дізнався про мерзотника і Github, я зробив деякі розгалужується тільки тому , що керівництва і підручники , здавалося б запропонувати це як на спосіб отримати свою власну копію коду на вашому комп'ютері.
rmac

Ми використовуємо GitLab у роботі, тому я добре знаю різницю між клоном та форком. Я також вважаю, що вам не потрібно роздрібнюватися, якщо ви не хочете видавати запит на тягнення (злиття для GitLab).
cst1992

3
@Jesse, це добре робити, але зазвичай у цьому випадку непотрібне. Компанія може зробити це за кодом, від якого вони залежать, щоб переконатися, що оригінал не раптом зникне. Якщо все, що ви хочете зробити, це створити з джерела, клон простіше.
Карл Білефельдт

101

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

У роздвоєному сховищі вони мають доступ до запису і можуть натискати на зміни. Вони можуть навіть повернутись до початкового сховища, використовуючи запити на витяг .

Я думаю, що є кілька причин, чому люди розщеплюють сховища, але не змінюють їх:

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

5
Коли ви не використовуєте Github, ви рухаєтеся по старому шкільному маршруту і створюєте локальну клоновану копію проекту, щоб ви могли його змінити. Розсилка на github надає вам доступ до тягнутих запитів, які віддають перевагу у багатьох проектах. Якщо ви перебуваєте в іншому проекті, ви в кінцевому підсумку створите патчі та надішлете їх на розгляд.
Рудольф Олах

Це простий одноетапний процес налаштування відділення віддаленого відстеження. Кожен, хто намагався внести свій внесок у сховище git за межами GitHub, знає, наскільки це може бути нудно. Плюс до цього, якщо оригінальний автор переходить до AFK, ви можете слідкувати за графіком розвитку, щоб знайти вилки, які все ще активно розроблені. Будемо сподіватися, що це не дозволить GitHub перерости у пустку мертвих проектів так само, як це зробив SourceForge.
Еван Плейс

Що робити, якщо ви роздрібнюєте проект, але не вносите змін. Чи вважатиме це незаконним?
Джессі

@Jesse Усі загальнодоступні сховища в GitHub повинні мати ліцензію з відкритим вихідним кодом (ось їхні Умови надання послуг), і тому це зовсім не є проблемою. Особливо, коли ви не вносите жодних змін.
MarcDefiant

28

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


3
Вони можуть виправити номер або опубліковану версію версії програми.
Роман М. Косс

26

Вся суть Гітбуба - "соціальне кодування" .

Особисто я розщеплюю сховища, коли:

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

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

Чому ні?

Немає нічого (що я можу придумати), що може піти не так, як розганяти сховища для особистого задоволення. Чесно кажучи, я зберігаю папку цікавих проектів, які я бачу в Github та інших місцях просто для натхненних цілей, а почасти тому, що я витівник. Я розумію, що мені не потрібно змушувати проект читати код, але, можливо, я хочу це змінити в майбутньому.

Тепер починайте розщеплювати.


9
+1 для "Чому б і ні?" розділ.
Llepwryd

Мої додаткові 2 копійки на тему "Чому ні?" розділ: Моя звичка завжди робити "git push" після того, як я закінчую роботу над функцією; у мене є це QED задовільне відчуття для мене (чого я не отримую, коли виписую віддалене ім’я та ім'я гілки). Тож, коли є навіть найменший шанс, що я, можливо, захочу внести зміни в репо, я вважаю за краще роздвоювати це, а не пізніше змінювати репо "походження" за замовчуванням.
yoniLavi

1
Я думаю, що "Чому б і ні?" У розділі описано, як працює "Зірка" ...
TWiStErRob

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

2
Коли проект цікавий, я б використав зірку. Я згоден, хоча і з рештою.
Роман М. Косс

1

Я розписую багато репостів про те, що, можливо, я хочу використати код, або якщо це проект, який мене цікавить. Коли я хочу повернутися і ще раз переглянути код пізніше, простіше знайти, чи він вказаний під моїм сховища. Мені не доводиться гуляти, або дзижчати, намагаючись пригадати, що саме звали, або думати: "де я знову побачив ту репо про фу?" Якщо це серед моїх репостів, про це нагадати простіше.


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