Я нахожусь на ветке, которая не готова к фиксации, но я хочу попробовать что-нибудь экспериментальное.Я хочу спрятать текущее состояние ветки, чтобы его можно было восстановить, если что-то пойдет не так.
Когда я делаю git stash, он возвращает ветку к предыдущему коммиту, поэтому рабочее дерево чистое, и я могу получить новую экспериментальную ветку.Оказавшись в новой ветке, я запускаю git stash apply, чтобы вернуть исходное состояние, чтобы попробовать свои экспериментальные изменения.
Я делаю некоторые изменения и решаю их отменить.Когда я возвращаюсь к первой ветке и запускаю git stash apply, я получаю сообщение об ошибке, и все изменения, которые я сделал в экспериментальной ветке, уже есть.Как получить исходное состояние до экспериментальных изменений обратно?Спасибо.
Например:
- Я создал еще одно тестовое репо, так как не знаю, что делаю.Я создаю файл с именем
test.txt
и делаю начальную фиксацию. - Затем выполните
git checkout -b branch1
и в текстовом файле введите «Ветвь 1 изменения». - Затем я делаю
git stash
, чтобы защитить незафиксированное состояние текущей ветви.Это удаляет то, что я только что сделал, и рабочее дерево чистое. - Так я и делаю
git checkout -b experiment
. - Оказавшись там, я делаю
git stash apply
и возвращаю старое состояние. - Я делаю изменения и решаю, что не хочу их.
- Тогда я делаю
git checkout branch1
.Теперь есть изменения из экспериментальной ветки, и когда я пытаюсь сделать git stash apply
, чтобы восстановить старое состояние, я получаю ошибку.
Я хотел бы знать правильный способ простой защитытекущее состояние ветки, которая не готова к фиксации ради эксперимента.