Предполагая, что вы уже находитесь на ветке (что всегда должно быть для изменений, которые вы хотите сохранить), вы можете просто сделать
git checkout <revision to check out>
Это отвлечет вас от ветки темы, в которой вы работали (без ветки), в которой рабочая копия ссылается непосредственно на идентификатор фиксации, а не на имя ветви, как обычно.
Затем, чтобы вернуться назад, просто:
git checkout <old branch name>
Полезно подумать об этом: git checkout никогда не изменяет ветки; он просто изменяет то, на что в данный момент смотрит ваша рабочая копия (т. е. HEAD), которая может быть либо веткой (в этом случае коммиты обновят ветку), либо случайным хешем фиксации.
Таким образом, пока изменения, которые вы хотите сохранить, находятся в ветке, вам не нужно беспокоиться о потере git checkout.