GitHub Copilot X CLI:你的新GIT助手

需要一些关于git命令的帮助?问问Copilot CLI吧!

GitHub Copilot X CLI:你的新GIT助手

GitHub Copilot CLI有三个别名:

  • ??::询问一个通用的shell命令
  • git?:询问一个 git 命令
  • gh?:询问 GitHub CLI 命令

今天我玩了一下 git ? 来测试建议的准确性,以及获得正确的命令有多容易。你可以在文章末尾的视频找到。

剧透:如果你在不了解AI生成的命令的情况下运行这些命令,结果是……不可预知的 😅

无害的例子

在视频的开头,你会看到我问了一个相当简单的问题,基本上是从main创建一个新的分支。

建议的代码是

git switch -c <branch> main

我很高兴,所以我运行命令并…

(eval):1: no such file or directory: branch

等等,什么?啊,我忘了把 <branch> 换成实际的分支名称🤦‍♂️。

这完全是我的错,但幸运的是没有发生什么坏事,我修改了查询并设置了正确的名称。

潜在的有害例子

然而,在视频的后面,我试图移动和删除提交,第一个建议是:

git reset --hard HEAD~1

想象一下,在不了解它的作用的情况下运行它……好吧,当然,用 reflog 你可以恢复丢失的提交,但如果你不知道,你可能会因为刚刚丢失的所有修改而感到恐慌。这似乎不是一个很酷的情况。

实际上,在写这篇文章的时候,我意识到我可以在视频中直接问这个问题:

git? recover the last hard reset commit

我现在做了,第一个建议是:

 ──────────────────── Command ────────────────────
git reflog
git reset --hard HEAD@{1}
────────────────── Explanation ──────────────────
○ git reflog lists all commits that are no longer referenced by any branch.
○ git reset resets the current branch to a previous commit.
◆ --hard means that we also discard any changes made to the files in the working directory.
◆ HEAD@{1} specifies that we reset to the commit one before the current one.

如果你只是不记得语法,这很好,但如果你不确定你在做什么……想象一下,被人工智能告知要恢复硬重置,你需要再做一次硬重置。那不是很吓人吗?让我知道你的想法!

有趣的事实

当我开始录制视频时,我并没有意识到我打开了Copilot Voice。在某些时候,我说了这样的话:

I’m on a branch called copilot-x-test, but is it correct?

(我在一个名为copilot-x-test的分支上,但它是正确的吗?)

一秒钟后,我听到一个声音从我的扬声器里传出来:

It depends on the task. You should make sure that the task is valid and reliable before taking it

(这取决于任务的情况。在接受任务之前,你应该确保该任务是有效和可靠的。)

啊,是Copilot的声音!

完整Demo

总之,这里有完整的视频,我在那里玩Copilot X CLI,询问 git 命令,并给你我对AI生成的建议的个人想法。

评论留言