Kotlin program to summarize git commits by regex match
I have never used Kotlin, so I can't give a comprehensive review or comment particularly on specific idioms.

I'm slightly bothered by this line, because null objects seems very much like a Java habit which Kotlin's paradigm generally tries to avoid. 

var date: OffsetDateTime? = null,


It seems to me that Commit is the sort of thing whose values should be known at construction, so consider using the data class constructor. 



I'm also a bit nervous about this line:

val gitDir = "C:\\dev\\git\\"

File(gitDir + repo)


I know you'll parameterise the list of repositories you want to use. When you do, it's worth thinking about things like cross platform usability. I can't give a specific recommendation, but it's generally better to use some sort of filesystem library rather than stitching together strings like that. 



// string extensions
fun String.run(workingDir: File, targetFile: File = File("C:\\dev\\tmpFile")): File 


Class extensions is a really cool capability, but it also feels like a dangerous use of that capabiltiy. As a rule of thumb, you wouldn't have a class method which isn't meaningful and legal to run for whatever instance of that class you have, and similarly be wary of adding extensions that don't make sense of most versions of a class. Since matchStr.run(...) wouldn't make any sense I'd be suspicious of extending String like this. I'd say either have a specific class for runnable strings, or just have a function that takes the string to run as a parameter.