GitFilesHarvester abstraction uses polymorphic code to harvest git files.
Refactored GitStagedFilesHarvester and GitModifiedFilesHarvester by extracting common stub