commit method

Future<GitCommit> commit(
  1. String message, {
  2. List<String>? files,
  3. bool all = false,
  4. bool amend = false,
  5. bool allowEmpty = false,
  6. String? workDir,
})

Creates a commit.

Implementation

Future<GitCommit> commit(
  String message, {
  List<String>? files,
  bool all = false,
  bool amend = false,
  bool allowEmpty = false,
  String? workDir,
}) async {
  if (files != null && files.isNotEmpty) {
    await add(files, workDir: workDir);
  }

  final args = <String>['commit', '-m', message];
  if (all) args.add('-a');
  if (amend) args.add('--amend');
  if (allowEmpty) args.add('--allow-empty');

  await _runGit(args, workDir: workDir ?? defaultWorkDir);

  // Return the commit that was just created.
  final commits = await log(maxCount: 1, workDir: workDir);
  return commits.first;
}