2016-04-07 47 views
5

W mojej firmie prosimy deweloperów o zgrupowanie w gałęziach feature przed scaleniem w develop. Po zgnieceniu programista przesyła się do GitHub i loguje się do GitHub, aby utworzyć żądanie ściągnięcia.Dlaczego połączone żądanie ściągnięcia w GitHub tworzy duplikat zatwierdzenia?

Gdy prośba przyciąganie jest połączone, to w końcu widząc dwa rewizje w historii develop Branża:

  1. commit mówiąc „złączonego wniosek pull”
  2. jednolitego, zgniecione popełnić od feature oddziału

Dlaczego tak się dzieje? I jak możemy tego uniknąć? Czytałem podobny Q&A about avoiding "merge commit hell", ale moim celem jest wykorzystanie interfejsu użytkownika GitHub do tworzenia, śledzenia i omawiania żądań ściągania.

+0

Myślę, że drugi popełnić jest scalającej. Aby tego uniknąć, scaliłeś go ręcznie, a następnie przekazałeś do GitHub. GitHub nie ma funkcji do odrzucania zatwierdzenia scalenia. Sprawdź [tutaj] (https://stackoverflow.com/questions/16358418/how-to-avoid-merge-commit-hell-on-github-bitbucket). – xuhdev

Odpowiedz

7

Zobowiązanie, które widzisz, to commit commit; generalnie są one tworzone automatycznie przez git za każdym razem, gdy wykonujesz fokus nie do przodu, ale możesz także wymusić na nim zawsze tworzenie. I właśnie to robi GitHub, kiedy używasz przycisku scalania.

Jeśli nie chcesz scalać zatwierdzeń, musisz wybrać sygnatury na master, zamiast używać przycisku scalania. Nie ma sposobu, aby to zrobić w interfejsie internetowym GitHub.

Edit: GitHub został dodany squash and merge i rebase and merge możliwości w ramach swojej sieci web ui:

enter image description here

+0

Wygląda na to, że jest teraz sposób na uniknięcie scalenia w GitHub ... To naprawdę jest do bani. Generalnie uwielbiam interfejs UI do pobierania ciągów GitHub, ale te prośby o scalanie są denerwujące i zdecydowanie mnie myli, ponieważ diff pokazuje dokładnie to samo, co to, co poprzednio pokazywało zatwierdzone zdanie. –

+1

Merge commits ma dużo większy sens, gdy spojrzy się na [widok drzewa z historii] (http://stackoverflow.com/q/5382255/120999), którego niestety GitHub nie zapewnia. Uwielbiam GitHub, ale w miarę upływu lat coraz więcej czasu spędzam przy użyciu narzędzi 'git' w terminalu zamiast" ładnych "widoków, które zapewniają, ponieważ nieuchronnie kończy się to bardziej zagmatwanym, gdy próbujesz coś zrobić. poza lekko podstawowymi operacjami. –