Я понимаю вопрос так: вы хотите полностью заменить содержимое одного файла (или выборки) из апстрима.Вы не хотите напрямую влиять на индекс (так что вы должны пройти через add + commit как обычно).
Просто выполните
git checkout remote/branch -- a/file b/another/file
Если вы хотите сделать это для расширенных поддеревьев ивместо этого, если вы хотите напрямую воздействовать на индекс, используйте
git read-tree remote/branch:subdir/
Затем вы можете (необязательно) обновить свою рабочую копию, выполнив
git checkout-index -u --force