Jak mogę cofnąć każdą zmianę dokonaną w moim katalogu po ostatnim zatwierdzeniu, w tym usuwanie dodanych plików, resetowanie zmodyfikowanych plików i dodawanie z powrotem usuniętych plików?
Jak mogę cofnąć każdą zmianę dokonaną w moim katalogu po ostatnim zatwierdzeniu, w tym usuwanie dodanych plików, resetowanie zmodyfikowanych plików i dodawanie z powrotem usuniętych plików?
Odpowiedzi:
Najpierw zresetuj zmiany
git reset HEAD --hard
następnie wyczyść wszystko z nie śledzonych. Jeśli chcesz zachować pliki, które nie są śledzone z powodu .gitignore
, zachowaj ostrożność przy użyciu tego polecenia.
git clean -fd
-x
skorzystać z tej opcji git clean
, która nakazuje również usunięcie zignorowanych plików.
git clean -fd
poleceniem.
git clean -fd
aby nie usuwać ignorowanych plików. -x
będzie.
git clean -fd
usunie te foldery i nieśledzone pliki. Testowane z wersją git 1.9.1
Jak mogę cofnąć każdą zmianę dokonaną w moim katalogu po ostatnim zatwierdzeniu, w tym usuwanie dodanych plików, resetowanie zmodyfikowanych plików i dodawanie ponownie usuniętych plików?
Możesz cofnąć zmiany w śledzonych plikach za pomocą:
git reset HEAD --hard
Możesz usunąć nieśledzone pliki za pomocą:
git clean -f
Możesz usunąć nieśledzone pliki i katalogi za pomocą:
git clean -fd
ale nie można cofnąć zmiany na nieśledzone pliki .
Możesz usunąć zignorowane i nieśledzone pliki i katalogi
git clean -fdx
ale nie można cofnąć zmiany na ignorowane pliki .
Można również ustawić clean.requireForce
na false
:
git config --global --add clean.requireForce false
aby uniknąć używania -f
( --force
) podczas używania git clean
.
W tej sytuacji działają dwa polecenia,
root> git reset --hard HEAD ~ 1
root> git push -f
Więcej poleceń git można znaleźć na tej stronie
git push -f
nie jest związany z pytaniem i w tym scenariuszu jest niebezpieczny