/ / Git rebase pokazuje wcześniejsze zatwierdzenia jako moje - git, github

Git rebase pokazuje wcześniejsze zatwierdzenia jako moje - git, github

Mój projekt mam Master i Branch1. Rozgałęziałem się z gałęzi 1 i utworzyłem gałąź 2. Zarówno Oddział 1, jak i Oddział 2 posunęły się do przodu z zatwierdzeniami, Oddział 1 był zdalny, a Oddział 2 był dla mnie lokalny. Po zakończeniu wszystkich funkcji Oddziału 1 wszystkie zatwierdzenia zostały zmiażdżone. Po zakończeniu zmian zatwierdziłem zmiany w Oddziale 2 i ponownie wprowadziłem zmiany w Oddziale 1, używając:

# On branch2
git add . && git commit "my branch"

# On branch1
git pull (to get latest changes and update local copy)

# On branch2
git rebase origin/Branch1

# fixed conflicts (1 file)

git rebase --continue
git push origin Branch2

Kiedy jednak wchodzę na github.com, aby utworzyć żądanie ściągnięcia dla mojego oddziału (Branch2), pokazuje 2 zatwierdzenia:

  1. Zgnieciony zatwierdzenie Oddziału 1

  2. Moje zatwierdzenie (komunikat zatwierdzenia „moja gałąź”).

Nie rozumiem tego zachowania. Dlaczego zatwierdzenie oddziału 1 pojawia się jako zatwierdzenie w moim oddziale? Czy istnieje sposób, aby go usunąć, tj. Mam tylko moje zatwierdzenie w moim oddziale?

Odpowiedzi:

0 dla odpowiedzi № 1

W żądaniu ściągnięcia zobaczysz wszystkie zatwierdzenia, których brakuje w gałęzi docelowej (np. master). Można to pokazać za pomocą git log polecenie z określonym zakresem zatwierdzenia (patrz Używanie zakresów zatwierdzania z Git Log).

$ git log master..origin/branch1 --oneline
c675aeb all commits from branch1 squashed

$ git log master..branch2 --oneline
7be222e my branch
c675aeb all commits from branch1 squashed

GitHub nie dba o to, które zatwierdzenie oddziału zostało pierwotnie wprowadzone. Musisz się połączyć branch1 w master pierwszy. Następnie rozłóż bazę branch2 na górze master (lub scalić master w branch2).