Selektywnie zatwierdzam części dużego pliku i chciałbym zobaczyć więcej kontekstu wokół każdego fragmentu. czy to możliwe?
Selektywnie zatwierdzam części dużego pliku i chciałbym zobaczyć więcej kontekstu wokół każdego fragmentu. czy to możliwe?
Odpowiedzi:
Krótka odpowiedź: nie.
git diffma -U<n>opcję, która pozwala dostosować liczbę wierszy wyświetlanych wokół zmiany. Na przykład git diff -U5 ...pokaże 5 linii kontekstu. O ile wiem, nie ma takiej opcji dla wyświetlania różnic w trybie interaktywnym.
git diff -U<n>jest używana po obu stronach każdej zmienionej linii. Więc jeśli zmienisz jedną linię, git diff -U5pokaże ci 11 linii (zakładając, że jedna linia nie jest na początku lub końcu pliku).
git diffnie dla git add --patchlubgit add --interactive
Aby potwierdzić, w 2019 nadal nie jest to możliwe.
Takie narzędzie zewnętrzne jjlee/git-meld-indexmoże pomóc:
git-meld-indexbiegniemeld- lub jakikolwiek inny difftool git (kdiff3,diffuse, itd.) - co pozwala na interaktywne zmian etapu do indeksu git (znany również jako obszar staging git).
Jest to podobne do funkcji git add -pi git add --interactive.
W niektórych przypadkach połączenie jest łatwiejsze / szybsze w użyciu niż
git add -pfunkcja przemieszczania w narzędziach takich jakgit gui.
Dzieje się tak, ponieważ meld pozwala na przykład:
- zobacz więcej kontekstu ,
- zobacz różnice między wierszami
- edytuj ręcznie i zobacz aktualizacje różnic na żywo (aktualizowane po każdym naciśnięciu klawisza)
- przejdź do zmiany bez mówienia „
n” do każdej zmiany, którą chcesz pominąć
-U<infinity>opcja pokazania całego pliku? (A może duża liczba jest „wystarczająco dobra”?)