/ / Git - Jak przywrócić cały katalog do określonego zatwierdzenia (usuwając wszystkie dodane pliki) - git

Git - Jak przywrócić cały katalog do konkretnego zatwierdzenia (usunięcie wszelkich dodanych plików) - git

Chcę przywrócić katalog w git - cofając wszystkopliki wewnątrz, jak również usuwanie wszelkich plików dodanych od tego zatwierdzenia. Wykonanie transakcji wydaje się spełniać moje pierwsze wymaganie, ale nie usuwa żadnych plików.

Odpowiedzi:

11 dla odpowiedzi nr 1

Wymyśliłem najprostsze rozwiązanie.

git rm /path/to/dir
git checkout <rev> /path/to/dir
git commit -m "reverting directory"

Następnie usuń wszystkie nieśledzone pliki.


4 dla odpowiedzi nr 2

usuń tylko folder i jego zawartość na git

git rm -r --cached myFolder

usuń folder na git i lokalnie

git rm -r myFolder

następnie zatwierdzić i ponownie nacisnąć

Aby powrócić do poprzedniego zatwierdzenia

#reset to previous commit, replace with your commit hash code, you can find it from your commit history
git reset {commit hash}

#moves pointer back to previous head branch
git reset --soft HEAD@{1}

git commit -m "Reverted commit to blah"

#update your working copy
git reset --hard

Powrót do części zatwierdzenia W takim przypadku musisz powrócić do konkretnego zatwierdzenia i dodać poprawkę

#reset to previous commit, but don"t commit the changes
$ git revert --no-commit {last commit hash}

# unstage the changes
$ git reset HEAD .

# add/remove stuff here
$ git add file
$ git rm -r myfolder/somefiles

# commit the changes
$ git commit -m "fixed something"

# check the files
$ git status

#discard unwanted changes
$ git reset --hard

1 dla odpowiedzi nr 3

Aby przywrócić, aby pasowało do tego, jak wyglądało na

Najpierw zbij katalog z obszaru przemieszczania

git rm --cached -r <directory>

Teraz przeczytaj drzewo w tym katalogu

git read-tree <old SHA>^{tree}:<directory> --prefix=<directory>

Następnie zatwierdź

git commit -m "reverting <directory>"

Następnie po prostu wyrzuć zmiany katalogu roboczego, które pozostały.