GIT - przywrócenie projektu do wersji z konkretnego commita

GIT - przywrócenie projektu do wersji z konkretnego commita
zuch182
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

Cześć!
Mam następujący problem - w moim projekcie próbowałem zaimplementować pewną koncepcję, która w ostateczności nie spełniała swojego zadania. Stąd też chciałbym pracować dalej nad projektem, ale na wersji sprzed kilku commitów. Chciałem to zrobić w Intellij Idea, ale tam przycisk "Get" (w historii zmian projektu) jest wyszarzony więc pozostaje ręczne wprowadzenie zmian. Dodam, że repozytorium GIT jest w serwisie bitbucket (nie wiem jakie tam mam możliwości na darmowym serwerze).
Ponieważ bardzo słabo znam git'a, proszę o pomoc jak to bezpiecznie mogę zrobić?

MichalTHEDUDE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 60
3

A może by tak pogooglować trochę? I wpisać np. git how to revert hisotry, i tam powinno wyskoczyć masę odpowiedzi na stacku :).

Spróbuj:
git reflog znajdź commita, który Cie interesuje i git reset --hard HEAD@{<num>}

zuch182
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

Dzięki, za szybką odpowiedź. A jeśli git reflog nie wyświetla tego commitu do którego chcę cofnąć? Na liście są tylko moje commity, a ja chciałbym cofnąć do commita wykonanego przez kogoś innego. Czy mogę podać ten długi numerek z pola Version w historii repo w Intellij?

MichalTHEDUDE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 60
1

Ponownie:

  1. pogoogluj (git reset to commit number).
  2. spróbuj, pokombinuj.
  3. nie jestem pewien - git reset --hard <commit_sha_number>.
Azarien
  • Rejestracja: dni
  • Ostatnio: dni
1

Nie wiem. Pod TortoiseGitem otwierasz log (show log), klikasz prawym na commicie, "reset [nazwa gałęzi] to this", i zaznaczasz "hard".
Pod konsolą piszesz git reset --hard literkicyferki.

A na przyszłość, to zanim zaczniesz "implementować pewną koncepcję" utwórz nową branchę. Naucz się ich używać.

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

@zuch182: a pobrałeś w ogóle te zmiany zrobione przez kogoś innego do swojego lokalnego repozytorium?

zuch182
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

Ostatecznie porządany rezultat udało się osiągnąć za pomocą komendy git reset --hard <cyferkiliterki> && git clean -f
Dziękuję za pomoc

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.