diff --git a/package/GitCommand/GitCommand.Tests/GitTest.cs b/package/GitCommand/GitCommand.Tests/GitTest.cs
index 51adc5c..2ce0f88 100644
--- a/package/GitCommand/GitCommand.Tests/GitTest.cs
+++ b/package/GitCommand/GitCommand.Tests/GitTest.cs
@@ -32,5 +32,17 @@ public void Push()
git.Push("origin", "master");
});
}
+
+ [ContractTestCase]
+ public void GetCurrentCommit()
+ {
+ "尝试获取当前的 commit 字符串,可以获取成功".Test(() =>
+ {
+ var git = new Git(new DirectoryInfo("."));
+ var currentCommit = git.GetCurrentCommit();
+ Assert.IsNotNull(currentCommit);
+ Assert.AreEqual(false, currentCommit.Contains('\n'));
+ });
+ }
}
}
diff --git a/package/GitCommand/GitCommand/Git.cs b/package/GitCommand/GitCommand/Git.cs
index 230ede7..21f3663 100644
--- a/package/GitCommand/GitCommand/Git.cs
+++ b/package/GitCommand/GitCommand/Git.cs
@@ -68,19 +68,8 @@ public string[] GetLogCommit()
///
public string GetCurrentCommit()
{
- var file = Path.GetTempFileName();
- Control($"rev-parse HEAD > \"{file}\"");
- var commit = File.ReadAllText(file).Trim();
- try
- {
- File.Delete(file);
- }
- catch
- {
- // 清掉失败?那啥也不用做
- }
-
- return commit;
+ var (success, output) = ExecuteCommand("rev-parse HEAD");
+ return output.Trim('\n');
}
///