C#/.NET 使用 git 命令行来操作 git 仓库

我们可以在命令行中操作 git,但是作为一名程序员,如果在大量重复的时候还手动敲命令行,那就太笨了。

本文介绍使用 C# 编写一个 .NET 程序来自动化地使用 git 命令行来操作 git 仓库。

这是一篇很基础的入门文章。


最简单的运行 git 命令的代码

在 .NET 中,运行一个命令只需要使用 Process.Start 开启一个子进程就好了。于是要运行一个 git 命令,我们其实只需要这句足以:

Process.Start("git", "status");

当然,直接能简写成 git 是因为 git.exe 在我的环境变量里面,一般开发者在安装 Git 客户端的时候,都会自动将此命令加入到环境变量。如果没有,你需要使用完整路径 C:\Program Files\Git\mingw64\bin\git.exe 只是每个人的路径可能不同,所以这是不靠谱的。

允许获得命令的输出

对于上节中写的 Process.Start,你一眼就能看出来这是完全没有用的代码。因为 git status 命令只是获得仓库当前的状态,这个命令完全不影响仓库,只是为了看状态的。

所以,命令最好要能够获得输出。

而要获得输出,你需要使用 ProcessStartInfo 来指定如何启动一个进程。

var info = new ProcessStartInfo(ExecutablePath, arguments)
{
   
    CreateNoWindow = true,
    RedirectStandardOutput = true,
    UseShellExecute = false,
    WorkingDirectory = WorkingDirectory,
};

需要设置至少这四个属性:

  • CreateNoWindow 表示不要为这个命令单独创建一个控制台窗口
    • 实际上如果使用此代码的程序也是一个控制台程序,这句是没有必要的,因为子进程会共用父进程的控制台窗口;但是对于 GUI 程序来说,这句还是很重要的,这可以避免在
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值