Kiedy próbowałem git add -p someNewFile.txt
na nowym pliku (nieśledzonym pliku), git po prostu wyświetlał No changes.
i zatrzymywał się. Musiałem powiedzieć gitowi, że zamierzałem najpierw śledzić nowy plik.
git add -N someNewFile.txt
git add -p
Jednak ponieważ plik nie został prześledzony, pojawiłby się jako jeden gigantyczny kawałek, którego nie można podzielić (ponieważ jest nowy!). Musiałem więc edytować fragment na mniejsze części. Jeśli nie jesteś tego zaznajomiony, sprawdź to odniesienie, aby rozpocząć.
Aktualizacja - informacje o edycji Hunk
Chciałem to zaktualizować na wypadek, gdyby powyższe odniesienie zniknęło. Ponieważ nowy plik nie jest śledzony, git add -p
pokaże każdy wiersz w pliku jako nowy wiersz w jednym kawałku. Następnie zapyta Cię, co chcesz zrobić z tym kawałkiem, wyświetlając następujący monit:
Stage this hunk [y,n,q,a,d,/,e,?]?
Zakładając, że nie chcesz zatwierdzać całego kawałka (a tym samym całego pliku; ponieważ nie jestem pewien, dlaczego miałbyś chcieć użyć git add -p
w tym przypadku?), Będziesz chciał określić opcję, e
aby powiedzieć gitowi, że chcesz edytować przystojniak.
Gdy powiesz gitowi, że chcesz edytować fragment, powinien on przenieść Cię do wybranego edytora, abyś mógł wprowadzić zmiany. Wszystkie wiersze powinny być poprzedzone a, +
a git ma #
na końcu pliku kilka komentarzy wyjaśniających (z prefiksem a ). Po prostu usuń wszystkie wiersze, których nie chcesz, w początkowym zatwierdzeniu pliku. Następnie zapisz i zamknij edytor.
Git's wyjaśnienie opcji hunk gita:
y - stage this hunk
n - do not stage this hunk
q - quit; do not stage this hunk or any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk or any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help
git add -N
robi, po prostu dodaje określone nieśledzone pliki do indeksu, ale bez zawartości.