Вернитесь к конкретному коммиту в git, соберите, а затем вернитесь к последним изменениям. - PullRequest
8 голосов
/ 02 мая 2011

Возник некоторый вопрос о возврате к комиту в git, но я хотел убедиться.Эта страница SO больше всего помогает: Как вернуть репозиторий Git к предыдущему коммиту?

У меня есть предыдущий коммит, скажем, 1.0 для клиента, и он завершен.Я фиксирую (не уверен, что нажму), а затем создаю новую ветку для работы над следующей версией.Теперь, по какой-то причине, бинарный файл для 1.0 «поврежден», и мне нужно вернуться, но также сохранить текущие изменения.

Журнал Git показывает это:

commit be01d2a99ec35bbfcdbca47d5570acef8c69b275
Author: Yko <xxxxxxxxx@gmail.com>
Date:   Mon Apr 25 10:25:35 2011 -0400

Итак,шаги, которые мне нужно сделать, это?

1. git add .
2. git commit "good stopping point for v1.1"
3. git checkout be01...

Я предполагаю, что шаг # 3 изменяет весь исходный код?Это проект XCode (приложение для iPhone), поэтому мне просто нужно перезагрузить файл проекта, собрать и получить новый двоичный файл .app?

Затем вернемся к последней версии 1.1 с

* 1016.*

Спасибо,

Я новичок и не хочу терять работу.Оцените помощь !!!

РЕДАКТИРОВАТЬ: Основываясь на нескольких ответах, я хочу уточнить.1. Я не хочу объединять какие-либо ветви.Я хочу вернуться к версии 1.0 и пересобрать исходный код, чтобы создать новый двоичный файл, а затем вернуться туда, где я был.Предположим, что в версии 1.0 яблоки стоят 1,00 доллара, а в версии 1.10 яблоки - 1,10 доллара.Я хочу вернуться к версии 1.0, перестроить исходный код, где яблоки стоят $ 1,00, передать двоичный файл клиенту x.Затем вернитесь к версии 1.10 и продолжайте работать над ней.

Еще раз спасибо !!!

Ответы [ 2 ]

4 голосов
/ 02 мая 2011

Вы можете сделать это так:

git tag 1.0
git add .
git commit -m "good stopping point for v1.1"
git tag 1.1
git checkout 1.0
.. do your build stuff/whatever
git checkout 1.1
0 голосов
/ 02 мая 2011

Ваши шаги в порядке, и вы не потеряете никакой работы, если будете делать это таким образом. Возможно, вы захотите проверить команду git stash, чтобы избежать шага 2, если вы не очень хорошо остановились.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...