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?
git
git-commit
git-reset
git-revert
Dogbert
źródło
źródło
Odpowiedzi:
Najpierw zresetuj zmiany
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.źródło
-x
skorzystać z tej opcjigit 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.1Możesz cofnąć zmiany w śledzonych plikach za pomocą:
Możesz usunąć nieśledzone pliki za pomocą:
Możesz usunąć nieśledzone pliki i katalogi za pomocą:
ale nie można cofnąć zmiany na nieśledzone pliki .
Możesz usunąć zignorowane i nieśledzone pliki i katalogi
ale nie można cofnąć zmiany na ignorowane pliki .
Można również ustawić
clean.requireForce
nafalse
:aby uniknąć używania
-f
(--force
) podczas używaniagit clean
.źródło
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
źródło
git push -f
nie jest związany z pytaniem i w tym scenariuszu jest niebezpieczny