The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Катастрофа с Git'ом, !*! G.NercY.uR, 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 интересующего меня коммита?

Спасибо!

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

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




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

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