Уважаемые! Прошу помощи в понимании тонкостей работы git'а.Опишу ситуацию
Решил использовать как все нормальные человеки git для разработки своих проектов.
И стало быть есть два проекта xxx и yyy соответственно в папках:
/var/www/vhosts/xxx и /var/www/vhosts/yyy
Для них созданы также соответствующие bare-репозитории
/var/www/vhosts/xxx.git и /var/www/vhosts/yyy.git
периодически что-то правил в проектах, изменения коммитил и отправлял в соответствующий bare-репозиторий.
И в какой-то вечер будучи нетрезвым, сел и решил чего-то там поднаписать.
сперва решил взять последние изменения с bare-репы, git pull /var/www/vhosts/xxx.git
Что-то он ругнулся, но я настоял на своём.
В итоге понял что команду эту дал находясь в папке проекта yyy и в нём соответственно появился код проекта xxx
В общем так как опыта прямо огромного работы с git у меня нет, всё что я смог, так это восстановить последнюю версию проекта yyy из его bare репозитория.
А так как по "счастливой" случайности в bare-репу проекта yyy я не отправлял изменения несколько дней (коммитил в локальный только репозиторий yyy) то и откатился у меня этот проект назад.
В процессе понимания всей катастрофичности произошедшего, начал лихорадочно pull'ить и push'ить в итоге у меня yyy остался откаченным на несколько дней назад.
Скажите пожалуйста какие действия стоит предпринимать в подобных ситуациях, а то в интернете искал, там git reset, ещё что-то, но упорядоченного понимания не возникло что делать для отмены неверных действий.
Прошу порядок подсказать порядок действий подсказать:
1. смотрю лог коммитов
git log
2. как посмотреть что в интересующем меня коммите?
3. как мне получить код проекта который был на момент соответствующего коммита?
4. Можно ли получить diff интересующего меня коммита?
Спасибо!