Usuń rozwidlone repozytorium z GitHub


635

Zaczynam od git i GitHub, a na GitHub oglądam projekt. Mimowolnie kliknąłem, aby go rozwidlić. Teraz wydaje mi się, że to nowy projekt.

Mam co do tego pewne wątpliwości:

  • Wiem, że jeśli zatwierdzę lub zrobię coś innego dla mojego rozwidlonego repozytorium, zostanie ono zaktualizowane, ale zaktualizowany kod zacznie obowiązywać dopiero po zażądaniu ściągnięcia przez autora projektu. Dobrze?
  • Jeśli przejdę do panelu administracyjnego na GitHub, istnieje opcja usuwania. Jeśli usunę go jako opcję powyżej, czy będzie to miało jakiś efekt w oryginale, czy nie?

Chciałbym to usunąć. Do tej pory studiuję kod i tak naprawdę nie potrzebuję widelca.


23
Aby wyjaśnić terminologię dotyczącą żądań ściągnięcia: dokonujesz zmiany i żądasz, aby autor wciągnął tę zmianę do swojego repozytorium. Ty prosisz, a autor ciągnie .
Douglas Hill,

Odpowiedzi:


313

Usunięcie go nic nie zmieni w oryginalnym projekcie. Jego edycja spowoduje edycję widelca tylko na stronie repo.


114
Byłoby strasznym błędem bezpieczeństwa, gdybyś mógł wpłynąć na czyjś projekt, rozwidlając go, a następnie usuwając widelec.
Keith Thompson

10
Co się stanie, jeśli oryginalny projekt zostanie usunięty? Czy mój widelec nadal będzie działał? Czy to też zostanie usunięte?
unom

12
@unmircea Tak, twój widelec nadal będzie działał: po prostu nie będzie mógł scalić „upstream”.
biskup

11
Widzę. Jeszcze jedno szybkie pytanie. Kiedy rozwidlam projekt, co dzieje się, gdy początkowy projekt jest aktualizowany i tak dalej. Czy płynie automatycznie w dół?
unom

10
@unmircea Nie, usunąłeś zmiany z oryginalnego projektu
Conner

1151

Zdecydowanie najprostszym sposobem jest zalogowanie się na konto gitHub:

  1. Kliknij, aby repozytorium na przykład yourUsername/yourRepositoryna przykład mbaric/zpropertyz.
  2. Następnie na głównym pasku narzędzi github kliknij Ustawienia
  3. Przewiń w dół strony do sekcji o nazwie Niebezpieczna strefa, a znajdziesz przycisk Usuń to repozytorium
  4. Po kliknięciu pojawi się kolejne wyskakujące okienko, w którym należy wpisać nazwę użytkownika github i nazwę swojego repozytorium w tym formacie, gitHubUsername/nameOfTheRepositorya następnie kliknąć przycisk poniżej, który mówi: Rozumiem konsekwencje, usuń repozytorium
  5. Jeśli masz problem z zrobieniem tego, poniżej znajdują się zdjęcia, które można sprawdzić…

2020-01-15 - Oto zdjęcia. Cieszyć się. GHD1


GHD2
GHD3
GHD4




1
Świetne wskazówki, nie mogłem nigdzie znaleźć opcji usuwania, po prostu patrząc na github! (Nie sprawdziłem, czy zrzuty ekranu są prawidłowe, opis jest jasny i łatwiejszy do zaktualizowania)
Danio

Jak mogę usunąć gałęzie łatek, które są tworzone przy każdym zatwierdzeniu? Początkowo miałem tylko master, a teraz widzę, że istnieje kilka gałęzi, takich jak patch-1, patch-2 i tak dalej. Nie chcę usuwać całego repozytorium, ale tylko gałęzie oprócz gałęzi master.
RBT

1
cześć @RBT. zrób na lokalnym repozytorium zrób git fetch --alli git pull -allna gałęzi master, a następnie zrób to dla każdej gałęzi, zrób git push origin --delete <branch_name>to, usunie twoje zdalne gałęzie. Daj mi znać jeśli będziesz jeszcze potrzebować pomocy.
Matija,


12

Usunięcie rozwidlonych repozytoriów nie zaszkodzi. Możesz ponownie to rozwidlić. Nie zmieni oryginalnego kodu. Przepływ jest taki ...

1) Rozwidlasz repozytorium. Pomyśl o tym jako o kolejnej kopii kodu, do której możesz uzyskać dostęp lub wprowadzić zmiany. Adres URL tego repozytorium będzie miał formę https://github.com/your-user-name/original-repo.

2) Dokonujesz zmian w tym na swoim komputerze lokalnym i wypychasz je. Teraz utworzona kopia zostanie zaktualizowana, ale nie oryginalna kopia, z której rozwidliłeś swoje repozytorium.

3) Jeśli chcesz, aby zmiany dodane do rozwidlonego repozytorium zostały zastosowane w oryginalnym repozytorium (może to być pomocne dla osób, które organizują repozytorium), musisz utworzyć taki, pull requestktóry możesz wykonać za pomocą interfejsu użytkownika. Jeśli podoba im się Twój wkład, zrobią mergeto za pomocą kodu.

Zasadniczo to właśnie robią organizacje open source.


9

Słodki i prosty:

  1. Otwórz repozytorium
  2. Przejdź do ustawień
  3. Przewiń na dół strony
  4. Kliknij usuń
  5. Potwierdź nazwy repozytorium do usunięcia
  6. Kliknij usuń

7

Usunięcie rozwidlonego repozytorium nie wpłynie na repozytorium główne (oryginalne).

Tak jak pokazałem przykład, usuwając rozwidlone repo

To jest moje rozwidlone repo (Image)

Usuwanie rozwidlonego repozytorium

I bez zmian w oryginalnym repozytorium.

Repozytorium główne przypomina coś oryginalnego.

Rozwidlenie to to samo, co utworzenie oryginalnej kopii kserokopii. Nawet jeśli papier kseroksyczny zostanie uszkodzony, to czy nastąpi uszkodzenie oryginalnego dokumentu. Oczywiście nie.

Więc to tak samo.

Mam nadzieję że to pomoże.


4

wybierz projekt do usunięcia-> ustawienia-> przycisk kliknij przycisk Usuń-> wprowadź nazwę repozytoriów



3

Odpowiedź brzmi NIE. Nie wpłynie to na oryginalne / główne repozytorium, z którego dokonano rozwidlenia. (Funkcjonalnie będzie niepoprawne, jeśli taki dostęp zostanie zapewniony nie-właścicielowi).

Chciałem tylko to dodać.

Ostrzeżenie: spowoduje to usunięcie lokalnych zatwierdzeń i gałęzi utworzonych w rozwidlonym repozytorium. Dlatego przed usunięciem upewnij się, że masz kopię zapasową tego kodu, jeśli jest to ważne.

Najlepszym sposobem byłoby uzyskanie kopii zapasowej repozytorium git za pomocą:

git bundle 

lub inne znane metody.


1

Nie, nie wpłynie to na twoje oryginalne repozytorium, po prostu upewnij się, że adres repo wygląda jak „youGitName / TheRepository”, a nie jak „OtherPersonGitName / TheRepo”.


0

Miałem również do czynienia z tym problemem. NIE, to i tak nie wpłynie na twoje oryginalne repo. wystarczy go usunąć, wprowadzając nazwę rozwidlonego repozytorium


0

Istnieje wiele odpowiedzi wskazujących, że edytowanie / usuwanie widelca nie wpływa na oryginalne repozytorium. Te odpowiedzi są poprawne. Spróbuję dodać coś do tej odpowiedzi i wyjaśnić, dlaczego w mojej odpowiedzi.

Widelec jest tylko kopią repozytorium z relacją rozwidlenia.

Ponieważ możesz skopiować plik lub katalog lokalnie do innego miejsca i usunąć kopię, nie wpłynie to na oryginał.

Relacja rozwidlenia oznacza, że ​​możesz łatwo powiedzieć githubowi, że powinien wysłać żądanie ściągnięcia (z twoimi zmianami) z rozwidlenia do oryginalnego repozytorium, ponieważ github wie, że twoje repozytorium jest kopią oryginalnego repozytorium (z kilkoma zmianami po obu stronach ).

Dla informacji o dowolnym obiekcie żądanie ściągnięcia (lub żądanie scalenia) zawiera kod, który został zmieniony w rozwidleniu i przesłany do oryginalnego repozytorium. Użytkownicy z dostępem push / write (mogą być inni na innych serwerach git) w oryginalnym repozytorium mogą scalić zmiany żądania ściągnięcia w oryginalnym repozytorium (skopiować zmiany PR do oryginalnego repozytorium).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.