Как мне передать файл, скажем pom.xml, из главной ветки в произвольную более старую версию в Git?
pom.xml
Для людей, заинтересованных в том же в GitHub, см. сравнение коммитов по времени .
Если вы ищете diff для определенного коммита и хотите использовать пользовательский интерфейс github вместо командной строки (скажем, вы хотите связать его с другими людьми), вы можете сделать:
https://github.com/<org>/<repo>/commit/<commit-sha>/<path-to-file>
Например:
https://github.com/grails/grails-core/commit/02942c5b4d832b856fbc04c186f1d02416895a7e/grails-test-suite-uber/build.gradle
Обратите внимание на ссылки «Предыдущая» и «Следующая» в правом верхнем углу, которые позволяют перемещаться по всем файлам в коммите.
Это работает только для определенного коммита, но не для сравнения между любыми двумя произвольными версиями.
Если вам нужно, например, использовать один файл в тайнике, вы можете сделать
git diff stash@{0} -- path/to/file