Jestem ostatnim konwerterem git. Wspaniale jest móc używać git-svn, aby lokalnie przechowywać moje gałęzie bez zakłócania działania serwera svn. Wystąpił błąd, który istniał w najnowszej wersji kodu. Chciałem ustalić czas, kiedy to zadziałało, abym mógł użyć git bisect. Nie mogłem znaleźć odpowiedniego polecenia, aby cofnąć się w czasie. Dzięki.Jaki jest odpowiednik git dla "svn update -r"?
Odpowiedz
git checkout HEAD~1
To przeniesie bieżącą HEAD do jednej wersji wcześniej.
git checkout <sha>
Spowoduje to przeniesienie aktualnej HEAD do danej wersji. Użyj git log
lub gitk
, aby znaleźć wersję, której szukasz.
A wracając do najnowszej (odpowiednik: svn up), musisz zaktualizować gałąź, zwykle:
git checkout master
To dlatego, że HEAD odnosi się do wersji, która jest wyrejestrowany.
To nie wydaje się być odpowiednikiem svn up. W svn, jeśli edytuję coś i chcę go po prostu usunąć i powrócić do aktualnej wersji repozytorium, po prostu usunę plik i wykonam svn up. Następnie aktualna wersja właśnie usuniętego pliku zostanie wyciągnięta z repozytorium. Nie dzieje się tak z mistrzem kasowania git. Mówi mi tylko, że plik został usunięty. Jak mogę odzyskać usunięty plik? – mutatron
Można przywracać zmiany (w tym pliki usunięte lokalnie), sprawdzając odpowiedni plik: 'git checkout myfile.txt' – jmu
git pull
wydaje się bardziej odpowiednie polecenie dla czego szukasz
To wydaje się robić to, co chciałem, czyli to, co myślę, że pytasz zbyt
git checkout *
Jeśli używasz TortoiseGit wtedy
Right Click in project folder > TortoiseGit > Pull
Mimo że wykonałem oba te polecenia, nie widzę moich plików. Oto sytuacja. 1.) Usuwam folder. 2.) Wykonuję dwa polecenia, które wymieniłeś. 3.) Folder nadal jest usuwany, a nie jest pobierany, ponieważ aktualizacja SVN zostałaby przywrócona. – Danny
To dlatego, że to, czego szukasz, to 'git checkout -'. –
Bombe