Уважаемые! Прошу помощи в понимании тонкостей работы 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 log2. как посмотреть что в интересующем меня коммите?
3. как мне получить код проекта который был на момент соответствующего коммита?
4. Можно ли получить diff интересующего меня коммита?
Спасибо!
IMHO: без понимания Git ситуация еще больше усугубится (и не факт, что советы, которые Вам дадут, не будут содержать ошибок). Есть книга на русском
https://github.com/downloads/GArik/progit/progit.ru.pdf
там есть в том числе методы восстановления после таких катастроф - посмотрите по оглавлению.
> IMHO: без понимания Git ситуация еще больше усугубится (и не факт, что
> советы, которые Вам дадут, не будут содержать ошибок). Есть книга на
> русском
> https://github.com/downloads/GArik/progit/progit.ru.pdf
> там есть в том числе методы восстановления после таких катастроф - посмотрите
> по оглавлению.За книжку спасибо! Буду читать и понимать.
Перво наперво, понял что надо установить путь origin для локальных репов, чтобы по git push/pull без указания пути бралось/отсылалось в нужный.
Спасибо!