-
Co oznaczają te cyfry? Na razie obczaiłem tyle, że grupa po lewej odnosi się do plików w poczekalni (git add) a po prawej nie dodanych do poczekalni, oraz że środkowa cyfra to liczba zmodyfikowanych plików.
git_test\z\hello-world [master ↑ +0 ~2 -0 | +0 ~1 -0 !]> -
Co to znaczy?
[master ↑]>
[master ↕
[master ↓
[master ≡]> -
W porządku jest, jeżeli ktoś zrobi np 3 commity, bo zmodyfikował readme, potem się rozmyślił i zmienił a na końcu zauważył że popełnił tam błąd, czy należy tego mocno unikać?
1 oraz 2, to chyba jakaś nakładka dla gita jest. Pod Windowsem to masz czy Linuksem? Jaka powłoka?
- Jak nie poleciał jeszcze push na serwer, to można modyfikować takie commity, w przeciwnym wypadku lepiej unikać przepisywania historii, bo potem zonki mogą być (przy pracy grupowej).
strzałka do góry zwykle oznacza ile commitów do przodu jest twój branch lokalny w stosunku do śledzonego bracha (zwykle ten sam brach, ale na zdalnym serwerze).
strzałka w dół zwykle oznacza ile commitów do tyłu jest twój branch lokalny w stosunku do śledzonego bracha (są nowe commity na zdalnym branchu).
Możesz mieć jeszcze sytuacje mieszaną (strzałka w góre i w dół), albo wszystko zsynchronizowane (brak strzałek).
To z punktu pierwszego nie kojarzę.
Linia pierwsza to zakładam, że:
Pierwsza część: liczba linii dodanych, zmienionych i usuniętych w work tree.
Druga część: liczba linii dodanych, zmienionych i usuniętych w indeksie.
Ale szczerze poradziłbym Ci sprawdzić w dokumentacji Twojego prompta, którego używasz. Zakładam coś w stylu ZSH i oh-my-zsh.
- Masz coś takiego jak
git commit --fixup=<commit>
a następnie można zrobić tzw. autosquash, który połączy commity w większe.
Dzięki ludzie, trochę rzeczy się wyjaśniło
Jestem na Windows, Power Shell 2.0, posh-git (rzeczywiście nakładka, wcześniej o tym nie myślałem) https://github.com/dahlbyk/posh-git
Jaka jest dokładna różnica między fixup i amend poza tym że w fixup można wybrać commit?
Mam zdalne repozytorium, po zrobieniu commita z parametrem amend mam master ↕, czyli zmieniło się coś u mnie i na serwerze (że jak? Niczego nie wypychałem.). Muszę wtedy scalać i amenda już i tak nie zrobię:
fatal: You are in the middle of a merge -- cannot amend.
Jeżeli użyję fixup zamiast amend to zgodnie z oczekiwaniami muszę tylko wypchnąć swoje zmiany na serwer.
To normalne, że po użyciu fixup/amend i tak pojawiają się nowe commity w historii, jeżeli to miała być tylko poprawka?
W porządku jest, jeżeli ktoś zrobi np 3 commity, bo zmodyfikował readme, potem się rozmyślił i zmienił a na końcu zauważył że popełnił tam błąd, czy należy tego mocno unikać?
Póki nie zrobisz push
, to twoich commitów inni nie widzą. W powyższym przypadku, jeśli po pierwszym commicie nie było push, to zamiast drugiego (wycofującego) lepiej zrobić reset o ten ostatni commit i udać że nic się nie stało.
Jeżeli jednak był push, to z zasady nie należy modyfikować tego co już inni mogli teoretycznie w międzyczasie zaciągnąć pullem - tylko dać następnego commita.