git scalenie 2 commitów

0
> git log --oneline:

8bf632 Three
7acb1d Two
12dde2 One

Czy jest możliwość scalenia commitów Two i One w jeden bez naruszania commita Three ?

2

Możesz zrobić interaktywny rebase:

git rebase -i HEAD~3

gdzie 3 to liczba commitów wstecz które uwzględniasz. W edytorze który się otworzy możesz użyć opcji f albo s (s zachowuje commit message, f nie) przy drugim commicie aby włączyć go w pierwszy. Jednak po takiej operacji hasz trzeciego commita się zmieni, nie da się tego obejść.

0

Okej dzięki, udało się na testowych śmieciach. A czy ze zmianą hasha trzeciego commita wiążą się jakieś następstwa ?

2

Wspomniałem konkretnie o zmianie hasza bo napisałeś o naruszaniu, a skoro hasz się zmienia to ten commit już nie jest taki nienaruszony ;)
Jeśli pracujesz w zespole to zmiana już opublikowanej historii, na której pracują inni ludzie, powoduje wielkie konflikty przy mergowaniu, dlatego nie powinno się tego robić. Natomiast jeśli to Twój prywatny projekt albo zmiany jeszcze nie pchnięte do głównego repo to można bez obaw.

1 użytkowników online, w tym zalogowanych: 0, gości: 1