Otworzyłem żądanie ściągnięcia do projektu. Opiekun zdecydował się to zaakceptować, ale polecił mi zmodyfikować część zawartości.
Jak mogę to zrobić? Czy powinienem pozostawić wartość skrótu zatwierdzenia niezmienioną, jak mogę to zrobić?
git
github
pull-request
flygoast
źródło
źródło
Odpowiedzi:
po prostu wypchnij więcej zatwierdzeń do gałęzi, której dotyczy żądanie. Żądanie ściągnięcia odbierze to wtedy
Przykład:
Jeśli chcesz, aby b został włączony do pliku master
źródło
Miałem tylko jedno zatwierdzenie w żądaniu ściągnięcia i
git commit --amend
aktualizowałem je. Następnie wykonałem push,git push -f
więc moje zmienione zatwierdzenie zastąpiło oryginalne. Żądanie ściągnięcia automatycznie odebrało nowe zatwierdzenie. (Właściwie pokazywał oba zatwierdzenia, ale kiedy ponownie załadowałem stronę, stary commit zniknął).Więc chociaż wymuszone wypychanie nie jest generalnie zalecane, może być przydatne w przypadku żądań ściągnięcia. Nie jest to zalecane, ponieważ jeśli ktoś oprze zatwierdzenie na twoim, będzie musiał wykonać rebase po twojej zmianie. Ale ponieważ nikt nie powinien opierać swojej pracy na żądaniu ściągnięcia, które nie zostało sprawdzone, powinno to być całkiem bezpieczne w tej sytuacji.
źródło
Jeśli będziesz nadal wprowadzać zmiany i nadal wypychać do tej samej gałęzi, dopracowane zatwierdzenia zostaną dodane do tego samego żądania ściągnięcia (chyba że żądanie ściągnięcia zostało scalone). Może to spowodować, że historia będzie bardzo zagracona.
Alternatywne rozwiązanie i technika, której używam, są następujące:
Utwórz nową gałąź (poprawki) z repozytorium (upstream) i gałąź (programowanie), do której zamierzasz wysłać żądanie ściągnięcia, wykonując:
Git branch naprawia upstream / develop
Dodaj swoje dopracowane zatwierdzenia bezpośrednio do tej nowo utworzonej gałęzi.
git commit -m "twoja wiadomość"
Wypchnij tę gałąź do własnego rozwidlonego pilota (może być nazwany origin).
źródło
Możesz także użyć Github API .
przykład z curl
szczegółową listę danych można znaleźć w dokumentacji dewelopera na github
przykład: zmień nazwę mojego żądania ściągnięcia
źródło
head/label
ihead/ref
nie są edytowalne.