Anduin Xue
Anduin Xue

Anduin's Tech Blog

git


C# start a process and get output. (Fix process won't quit issue)

本篇博客主要讲述了如何在C#中启动一个进程并获取其输出。在博客的开始部分,作者分享了一段代码并提出了一个问题:为什么这个测试会一直运行直到超时,而不是正常退出。接着,作者解释了问题的关键在于进程的输出流需要被消耗。如果进程产生了大量的输出,这些输出将会累积在标准输出流中,如果没有程序去读取它,那么这个进程就会陷入无限等待的状态。为了解决这个问题,我们需要不断地读取进程的输出流。 接下来,作者提出了一个修改后的代码,这个代码在等待进程退出的同时,会持续读取进程的输出流。最后,作者通过几个测试案例,验证了修改后的代码的正确性,并且分享了一个可以从Nuget下载的方案。 那么,你是否也遇到过类似的问题?你又是如何解决的呢?这篇博客是否为你提供了一个新的解决方案?如果你对这个话题感兴趣,不妨深入阅读全文,你可能会有更多的收获。--GPT 4

C# git .NET Process

快速配置 - 无痛让你的所有 Git Commit 都被 GPG 数字签名

这篇博客详细介绍了如何使用 GPG 对 Git Commit 进行数字签名,为了防止他人伪造你的 Commit,提高安全性。首先,介绍了 GPG 签名的原理和作用,然后详细阐述了如何下载并安装 GPG,生成 Key,设置 Git Commit 使用这个 Key,让 GitHub、GitLab 信任你的公钥,并提出了跨设备同步你的 Key 的方法。通过这些步骤,你的 Git Commit 都会显示受信任的,不再会被黑客仿冒。但是,跨设备同步你的 Key 的方法可能会带来安全风险,你需要权衡安全和方便。那么,你是否愿意牺牲一点儿安全来换取方便呢?你会如何选择?--GPT 4

bash git PowerShell SSH Nextcloud Sign GPG

Install GitLab behind a reverse proxy on a Ubuntu 20.04\22.04 server

本篇博客详细介绍了如何在Ubuntu 20.04/22.04服务器上安装GitLab,并将其部署在反向代理之后。首先,博客讲述了如何安装和配置GitLab,接着演示了如何配置Nginx作为反向代理。为了解决SSH端口冲突的问题,文章还讨论了如何在GitLab服务器上使用2202端口作为克隆端口,并在代理服务器上进行端口转发。此外,博客还介绍了如何为GitLab实例添加运行器,并提供了一个示例项目,用于测试运行器的功能。最后,博客提供了一个完整的`.gitlab-ci.yml`配置文件示例,用于实现项目的构建、代码分析、测试和发布等任务。 在阅读本篇博客后,您将了解如何在Ubuntu服务器上部署GitLab,并配置反向代理以实现安全的访问。同时,您还可以借助本文提供的示例项目和`.gitlab-ci.yml`配置文件,快速实现项目的自动化构建和测试。在实践中,您可能需要根据自己的需求对配置进行调整,以满足不同的项目类型和技术栈。 那么,在配置GitLab和反向代理的过程中,可能会遇到哪些问题?如何确保GitLab运行器能够正确地执行任务?如何根据项目需求定制`.gitlab-ci.yml`配置文件?阅读全文,自己找到答案吧!--GPT 4

bash git Linux Ubuntu Proxy SSH Caddy GitLab nginx

Restore a deleted branch from Azure DevOps using it's SDK

本篇博客详细介绍了如何使用Azure DevOps SDK来恢复一个已删除的分支。首先,需要确保Git客户端已配置。接下来,在项目中安装Azure DevOps SDK。博客提供了用于恢复已删除分支的代码示例,其中包括了创建GitPushSearchCriteria对象、获取推送信息、创建GitRefUpdate对象以及调用UpdateRefsAsync方法来恢复分支。 在成功执行恢复分支的代码后,可以在本地运行`git fetch`命令,恢复的分支将会出现在本地仓库中。本文提供了一种简便的方法来恢复已删除的分支,这对于在意外删除分支后进行恢复非常有帮助。然而,在实际操作中是否能够顺利恢复取决于多种因素,例如分支的复杂性、项目的大小等。那么,除了使用Azure DevOps SDK,还有其他方法来恢复已删除的分支吗?如何确保在恢复分支的过程中不会引入潜在的问题?对于这些问题,希望读者能够在阅读本文的过程中思考并找到答案。--GPT 4

C# git Azure Azure DevOps SDK

One command to pull all git repositories

在这篇博客中,我们将探讨如何用一条简单的命令来更新所有的git仓库。如果你的文件夹结构类似于文章中所示,那么这个方法将非常适用。首先,在工作空间文件夹下创建一个名为`pull.sh`的新文件,并将文章中的代码复制到文件中。接下来,执行一个命令以允许运行该脚本。完成这些操作后,每次启动计算机时,只需运行`./pull.sh`,所有仓库便会自动更新。 这个方法不仅节省了时间,还让你在开始工作前确保所有仓库都是最新的。那么,你还在等什么呢?尝试这个方法,让你的工作流程变得更加高效。最后,你是否还有其他类似的技巧来简化日常任务?--GPT 4

bash git

  • 1