Git

Предположим, что у вас есть две ветки - prod и dev, и в ветке dev есть ряд коммитов, которые вам мешают, и вы хотите синхронизировать ветку dev с веткой prod. Для этого нужно использовать команду git reset <commit hash>, но проблема в том, что при попытке сделать push после этой команды у вас ничего не получится - git потребует сделать сперва pull из репозитория, который вновь скачает все удаленные нами коммиты. Для решения это проблемы надо делать push с опцией -f. Вот вся последовательность комманд:

...

Я работаю с Drupal, и если вы не разработчик проекта, но всё же хотите ему помочь, то это делается в виде патчей - нужно скачать актуальную версию модуля через git, исправить его код так, как считаешь нужным, и затем создать патч на основе этих изменений. Затем этот патч выкладывается на drupal.org, где другие разработчики его тестируют и если повезет, ваши изменения включат в следующий релиз модуля.

Итак, чтобы сделать патч из-под Windows, нужно делать следущее (я использую Tortoise Git):
создаю пустую папку
на ней правой кнопкой - git clone
Получаем как-то адрес...

Мой первый опыт помощи сообществу на drupal.org начался сразу с того, что меня сделали Maintainer'ом проекта (главным разработчиком).
Для того, чтобы залить свою версию модуля в репозиторий проекта и сделать первый релиз, надо делать следующее:

  1. Если еще ни разу не работали с Git, надо выполнить все действия отсюда Obtaining Git access, а так же идентифицировать себя в git у себя на компе по этому мануалу Identifying yourself to Git (если вы под виндой и используете TortoiseGit,...

Для начала надо скачать файлы, имеющиеся в репозитории.
Надо зайти на страницу проекта, и там сразу заметна ссылка на репозиторий:
1_1.png
Копируем её.

Затем заходим через ssh на хостинг, в директории, соответсвующей вашему виртуальному хосту выполняем команду

git clone ваша_ссылка

Скопируется вся структура файлов из нашего репозитория. Скорее всего это будет как минимум дополнительная подпапка...