Odpowiedzi:
Zakładając, że nie zatwierdziłeś pliku lub nie dodałeś go do indeksu, a następnie:
git checkout -- filename
Zakładając, że dodałeś go do indeksu, ale go nie zatwierdziłeś, to:
git reset HEAD filename
git checkout -- filename
Zakładając, że to zrobiłeś, to:
git checkout origin/master filename
Zakładając, że chcesz zdmuchnąć wszystkie zatwierdzenia ze swojego oddziału (BARDZO ZNISZCZĄCY):
git reset --hard origin/master
git checkout origin/master filenameopcję do odpowiedzi gahooa.
git reset --hard mastersam byłem moim rozwiązaniem, ponieważ nie chciałem sięgać do źródła. Dzięki.
Jeśli nie przypisałeś go jeszcze do gałęzi master, jest to łatwe:
git checkout -b oops/fluke/dang )git add -u; git commit; )git checkout master)Twoje zmiany zostaną zapisane w gałęzi oops / fluke / dang; mistrz będzie taki, jaki był.
git checkout HEAD filenameagit checkout origin/master filenamedla opcji pierwszej i drugiej byłoby to bardziej spójne?