saveRef method
Implementation
Future<void> saveRef(Reference ref) async {
var refFileName = p.join(dotGitDir, ref.name.value);
var refFileName2 = refFileName + '_';
await fs.directory(p.dirname(refFileName)).create(recursive: true);
var file = fs.file(refFileName2);
if (ref.isHash) {
await file.writeAsString(ref.hash.toString() + '\n', flush: true);
} else if (ref.isSymbolic) {
var val = symbolicRefPrefix + ref.target!.value;
await file.writeAsString(val + '\n', flush: true);
}
await file.rename(refFileName);
}