W serwisie Github możesz wysyłać żądania ściągnięcia, aby dodać funkcje do projektu. Składki muszą znajdować się w oddziale, który, jeśli wniosek zostanie zaakceptowany, zostanie włączony do gałęzi głównej (lub analogicznej) projektu.
Teraz przesłałem żądanie ściągnięcia na Github, a moje składki znajdują się w gałęzi o nazwie patch-1
. Mogę zmienić lokalnie nazwę oddziału wg
git branch -m patch-1 newname
iw zasadzie mogę również zmienić jego nazwę na moim rozwidlonym repozytorium na Github, postępując zgodnie z instrukcjami zawartymi w tej odpowiedzi . Odbywa się to w praktyce poprzez usunięcie starej gałęzi, patch-1
w moim przypadku, i nadanie jej innej nazwy newname
.
Czy można zmienić nazwę gałęzi patch-1
w moim rozwidlonym repozytorium na Github, gdy stanowi ona żądanie ściągnięcia? Lub powoduje problemy z zarządzaniem żądaniami ściągnięcia?
Czy istnieje sposób na zmianę nazwy gałęzi w repozytorium rozwidlonym na Github, gdy ta gałąź jest żądaniem ściągnięcia?
źródło
Odpowiedzi:
„Zmiana nazwy” zdalnej gałęzi w git, jak wskazuje podany przez ciebie link, to tak naprawdę po prostu usunięcie gałęzi, a następnie wypchnięcie nowej z tym samym hashem zatwierdzenia, ale nową nazwą. Jeśli masz otwarte żądanie ściągnięcia dla gałęzi patch-1, po usunięciu tej gałęzi żądanie ściągnięcia zostanie zamknięte.
Więc nie, nie możesz zmienić nazwy gałęzi z otwartym żądaniem ściągnięcia bez usuwania gałęzi i usuwania żądania ściągnięcia. Jednak nic nie powstrzymuje Cię przed zrobieniem tego, wypchnięciem nowej gałęzi z nową nazwą i utworzeniem nowego żądania ściągnięcia.
źródło
git push -f
. PR jest aktualizowany za pomocą całego nowego kodu i nadal jest „tym samym” PR.Krótka odpowiedź:
Nie
Alternatywne podejście:
Uwaga:
Nazwa zdalnego oddziału (stanowiącego PR) wymagała zmiany, ponieważ system kompilacji potrzebował nazwy oddziału kończącej się identyfikatorem biletu. Jednak PR został otwarty przed oficjalnym utworzeniem biletu (ze specyfikacji) i zawierał cenną dyskusję. Opisane podejście było jedynym sposobem, aby system kompilacji działał, a także nie utracił żadnych informacji (chociaż był dodatkowy krok w śledzeniu go).
źródło