Как отменить несколько коммитов Git (уже отправленных) в опубликованный репозиторий?

Новичок в git, и уже запутался.

Я зафиксировал и отправил некоторые изменения на удаленную машину разработки.Мне нужно восстановить более старую версию, но сохранить «плохой прогресс», чтобы продолжить работу над отдельной веткой;

Я думал сделать это следующим образом:

  1. Создать локальную веткус именем: "tested-thing"
  2. Вернуть локальный репозиторийв состояние, в котором он работал (надеюсь, осмысленные коммиты поможет);
  3. Отправить на удаленный сервер

  4. Завершить тесты на тестируемом объекте

  5. Объединить"протестированный объект" в dev
  6. Отправить на удаленный сервер

Между шагами 3 и 5 другие разработчики могут зафиксировать и нажмите, и я боюсь, что это может привести к «трагедии слияния». В любом случае, может ли это быть правильным путем?

ОБНОВЛЕНИЕ:

Основная проблема здесь заключается в 2)

Здесь, по теме: "разбить работу на ветку темы" http://learn.github.com/p/undoing.html

Они предлагают:

  1. $ git branch test
  2. $ git reset --hard a6b4c974

Делая это, другие разработчики мог бы еще:

$ git commit(в ветке dev)

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

Несмотря на все ваши варианты, кажется, что это хороший подход. Однако не указано, можно ли это сделать после того, как мы нажали ?

Пожалуйста, обратите внимание на следующее: Поскольку я внес эти изменения и все испортил, никто еще не работал над репозиторием. Итак, если я верну рабочий каталог, никто не заметит.

66
задан MEM 28 May 2012 в 08:03
поделиться