/ / git zmień i połącz commit, który nie jest w master - git

git zmień i połącz commit, którego nie ma w master-gicie

Będę krótko.

Przypadek użycia:

Jeden z moich programistów popchnął commit, powiedzmy "A" (który jest Unmerged)

Chcę wziąć to zatwierdzenie (niezmontowane) i chcę dodać zmiany im. Zmodyfikuj je i przeprowadź własne zatwierdzenie. (Commit B) (Który zawiera Zatwierdź A)

Jak mogę to zrobić? Jak mogę popchnąć moje zobowiązanie i JEGO zobowiązać się razem?

PS:

Starałem się git checkout jego commit i wprowadził moje zmiany, ale kiedy to zrobię git commit to nie działa (ponieważ jego zatwierdzenie jest niezmienione).

Odpowiedzi:

0 dla odpowiedzi № 1

Jeśli rozumiem, o co prosisz, chcesz scalić swoją zmianę z lokalnym oddziałem, a następnie zmodyfikować zmianę (w swoim oddziale), aby później scalić ją z master lub trunk lub jakiś inny oddział upstream.

Zakładając, że twoja gałąź i jego wspólna historia(np. twój oddział jest już na zmianie przed zmianą, a jego zmiana jest jedną zmianą), potrzebujesz tylko prostego "git merge --ff-only". Następnie możesz edytować rzeczy (nadal w swoim oddziale) i wykonać "git commit --amend", aby zmodyfikować ostatnią zmianę. Następnie możesz (później) scalić zmianę z lokalnym oddziałem w innym miejscu.

Jeśli twój oddział nie jest zsynchronizowany ze stanemprzed jego odgałęzieniem (i nie można go łatwo przekształcić), lub jeśli jest więcej niż jedna zmiana, rzeczy będą trudniejsze, możesz użyć "git cherry-pick" w sposób użyteczny, w zależności od twojej dokładnej sytuacji.