Przydatne komendy git
Włączanie i wyłączanie ignorowania zmian dla danego pliku
git update-index --skip-worktree default_values.txt
git update-index --no-skip-worktree default_values.txt
#list of files marked as skipped
git ls-files -v . | grep ^S
Albo:
git update-index --assume-unchanged <file>
#i aby cofnąć
git update-index --no-assume-unchanged <file>
Sprzątanie
git reset #unstage all of files
git checkout . #revert all local uncommitted changes
git clean -fdx #remove all local untracked files
Usuwa wszystkie niezacommitowane zmiany.
Sprzątanie w commitach (interactive rebase)
Inspirowane artykułem.
git rebase -i JAK_DALEKO
#np
git rebase -i HEAD~3 #3 commity do tyłu
#lub
git rebase -i master
To jak głęboki ma być nasz rebase możemy określić jako ilość commitów (HEAD~9
- czyli 9 commitów do tyłu), czy też względem innego brancha (np. mając feature branch wychodzęcy z mastera możemy zrobić rebase względem mastera).
Po zatwierdzeniu otrzymujemy listę commitów z którymi decydujemy co zrobić.
pick 56dc78c Poprawki do manipulacji tekstem
pick 57d9877 Podstawy templatek
pick b0675c9 Wykluczanie słów w regexach
pick 1c30565 Cockpit dodany do narzędzi
# Przestawianie 578f646..1c30565 na 1c30565 (4 polecenia)
#
# Polecenia:
# p, pick <zapis> = dobierz zapis
# r, reword <zapis> = użyj zapisu, ale przeredaguj jego komunikat
# e, edit <zapis> = użyj zapisu, ale zatrzymaj się, żeby go poprawić
# s, squash <zapis> = użyj zapisu, ale połącz go z poprzednim (spłaszcz)
# f, fixup <zapis> = jak „squash”, ale odrzuć komunikat tego zapisu
# x, exec <polecenie> = wykonaj polecenie (resztę wiersza) w powłoce
# b, break = zatrzymaj się tu (kontynuuj przestawianie przez „git rebase --continue”)
# d, drop <zapis> = usuń zapis
# l, label <etykietka> = nazwij bieżące HEAD
# t, reset <etykietka> = zresetuj HEAD do etykietki
# m, merge [-C <zapis> | -c <zapis>] <etykietka> [# <wiersz>]
# . utwórz zapis scalenia używając pierwotnego komunikatu scalenia
# . (albo <wiersza>, jeśli nie podano pierwotnego zapisu scalenia.
# . Użyj -c <zapis>, aby przeredagować komunikat zapisu.
# Kolejność wierszy może być zmieniona; są wykonywane z góry na dół.
#
# Jeśli usuniesz tutaj wiersz, TEN ZAPIS BĘDZIE STRACONY.
#
# Jeśli jednak usuniesz wszystko, przestawianie zostanie przerwane.
#
# Zważ, że puste zapisy są wykomentowane
Następnie po wybraniu operacji zatwierdzamy i rozpoczynamy zmiany.