2013-04-08 3 views
0

У меня есть локальная установка хранилища с 2 ответвлениями master и sandbox. Я внес изменения в песочницу: 1. Изменения для рабочей версии и, 2. Изменения, чтобы получить версию, работающую на моей машине с Windows.Отменить фиксацию на Github?

Я совершил изменения отдельно, сначала 1, затем 2. Затем я объединил ветку master с веткой sandbox.

Теперь, поскольку я хотел игнорировать набор изменений 2 (изменения будут работать в Windows), я создал .gitignore со следующим содержанием.

$ cat .gitignore 

#changed for local 
conn.php 
.htaccess 

Затем я нажал master ветвь удаленного мастера на GitHub, но теперь, глядя на последние 2 фиксаций они локальные изменения развития машины envonment (2).

И, я создал свой .gitignore с notepad++, но он не скрыт и выглядит как текстовый файл.

Итак, я хотел бы отменить последние 2 фиксации на github remote repository.

ответ

1

Вы можете использовать команду reset --hard, но предупреждайте, что она уничтожит любые незафиксированные изменения в вашей рабочей копии. Найти sha1 фиксации, вы хотите, чтобы ваш филиал в точке (то есть до того, как последние 2 фиксаций), то используйте:

git reset --hard abcdef1234 

Где abcdef1234 является sha1 коммита вы хотите, чтобы вернуться. После этого вы, возможно, придется заставить толкать изменения в пульте дистанционного управления с:

git push -f origin sandbox 

или мастер, в зависимости от того, какая ветвь вы изменяете

+0

к сведению, что если кто-то уже вытащил из этого хранилища, он не собирается, чтобы увидеть удаление (сначала), а затем либо слияние (при потере), либо ошибки (при нажатии) –

Смежные вопросы