当安装了Git后,为什么会没有Git交互式功能?

7

我正在使用Alpine Linux 3.10系统,使用apk安装了该系统的git软件包。

在一个已有的检出目录中,当我尝试启动git add的交互模式时:

$ git add -i

我遇到了错误:
git: 'add--interactive' is not a git command. See 'git --help'.

git add 的帮助信息表明,-i 是一个有效的选项。

发生了什么?

3个回答

11

git 的交互模式功能使用 perl,在许多 Linux 发行版中,git 的基于 perl 的部分被分离成另一个软件包,这样就可以在不需要安装 perl 的情况下使用 git 的核心功能。

在 Alpine 上,git 软件包只有这个核心功能。

要在 Alpine 上获取缺失的功能,请安装 git-perl 软件包。

$ sudo apk add git-perl

1
实际上,Perl将其源代码存储在Git中,因此对于他们来说,发行版破坏依赖循环可能会有点方便。 :P - rakslice

1

从Git v2.25.0开始,即2020年1月发布的版本起,在Alpine Linux上不再需要单独安装以下任何内容:

  • git add -igit add --interactive
  • git add -pgit add --patch

这些工具已从Perl移植到C¹,并且在Git v2.40.0²中彻底删除了git-add--interactive.perl的Perl版本,该版本于2023年3月发布。

  1. git/git@c5f7b2a6fe...5a7d41d849
  2. github.blog/2023-03-13-highlights-from-git-2-40

0
在RedHat Linux上,您可能需要添加perl-Git软件包:
$ sudo dnf install -y perl-Git

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接