Предполагая, что вы имеете в виду изменения в вашем рабочем дереве (не зафиксировано):
git stash
git checkout previous-commit path/to/file
git stash pop
Если вы зафиксировали некоторые изменения, вы все равно можете это сделать, выполнив немного больше работы.Предположим, что ваша история выглядит следующим образом:
- x - A - x - x - x - B - x - x (HEAD)
, где вы хотите версию на A, плюс изменения с B на.Затем сделайте следующее:
git stash
git checkout B path/to/file
git stash
git checkout A path/to/file
git stash pop
git stash pop
Обратите внимание, что любое приложение-хранилище, поскольку оно является операцией слияния, может привести к конфликтам слияния;Вы должны, конечно, решить эти проблемы, прежде чем двигаться дальше!