gitExe function
Implementation
String gitExe() {
if (_gitExeCache != null) return _gitExeCache!;
try {
final result = Process.runSync('which', ['git']);
final path = (result.stdout as String).trim();
_gitExeCache = path.isNotEmpty ? path : 'git';
} catch (_) {
_gitExeCache = 'git';
}
return _gitExeCache!;
}