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 1Wymyś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.