The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Катастрофа с Git'ом"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Контроль версий, Git, SVN, Bazaar, Mercurial)
Изначальное сообщение [ Отслеживать ]

"Катастрофа с Git'ом"  +/
Сообщение от G.NercY.uR on 29-Сен-13, 11:07 
Уважаемые! Прошу помощи в понимании тонкостей работы 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 интересующего меня коммита?

Спасибо!

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Катастрофа с Git'ом"  +/
Сообщение от John (??) on 29-Сен-13, 13:06 
IMHO: без понимания Git ситуация еще больше усугубится (и не факт, что советы, которые Вам дадут, не будут содержать ошибок). Есть книга на русском
https://github.com/downloads/GArik/progit/progit.ru.pdf
там есть в том числе методы восстановления после таких катастроф - посмотрите по оглавлению.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Катастрофа с Git'ом"  +/
Сообщение от G.NercY.uR on 29-Сен-13, 13:33 
> IMHO: без понимания Git ситуация еще больше усугубится (и не факт, что
> советы, которые Вам дадут, не будут содержать ошибок). Есть книга на
> русском
> https://github.com/downloads/GArik/progit/progit.ru.pdf
> там есть в том числе методы восстановления после таких катастроф - посмотрите
> по оглавлению.

За книжку спасибо! Буду читать и понимать.
Перво наперво, понял что надо установить путь origin для локальных репов, чтобы по git push/pull без указания пути бралось/отсылалось в нужный.
Спасибо!

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру