'git lfs'使用哪个git lfs?

'git lfs'使用哪个git lfs?,git,git-lfs,git-for-windows,Git,Git Lfs,Git For Windows,我刚刚将已安装的Git LFS从更新为最新版本(2.3.0)。但是,当我运行git lfs version时,我看到: $ git lfs version git-lfs/2.2.1 (GitHub; windows amd64; go 1.8.3; git 621d1f82) 如果运行git lfs version我会看到新版本: $ git-lfs version git-lfs/2.3.0 (GitHub; windows amd64; go 1.8.3; git 4dd2bf73)

我刚刚将已安装的Git LFS从更新为最新版本(2.3.0)。但是,当我运行
git lfs version
时,我看到:

$ git lfs version
git-lfs/2.2.1 (GitHub; windows amd64; go 1.8.3; git 621d1f82)
如果运行
git lfs version
我会看到新版本:

$ git-lfs version
git-lfs/2.3.0 (GitHub; windows amd64; go 1.8.3; git 4dd2bf73)
我不确定我是否理解
git lfs
命令在哪里找到它的git lfs。我找到了几个(或至少一个)旧的git lfs安装并删除了它们,尽管git似乎仍然找到了一个旧的。路径中没有其他git LF

我需要做什么来告诉git使用新安装的版本

我正在运行Windows 10并使用Cygwin。我在PowerShell和cmd中得到了相同的结果

编辑: 我发现:

C:\Program Files\Git\mingw64\bin\git-lfs.exe
这似乎是旧版本:

$ /cygdrive/c/Program\ Files/Git/mingw64/bin/git-lfs.exe version
git-lfs/2.2.1 (GitHub; windows amd64; go 1.8.3; git 621d1f82)

我应该删除这个(另一个应该通过
路径找到,或者用新的路径替换它吗?或者有更“正式”的方法吗?

通常,当您运行Git不知道是内置的任意命令(甚至Git知道是内置的)时,例如:

Git将在您的
$PATH
中搜索名为
Git asdf
的程序。不过,在执行此搜索之前,Git会插入其内置的Git核心目录:

$ git --exec-path
/usr/lib/git-core
(在Ubuntu虚拟机上;在我的Mac上,它目前是
/usr/local/ceral/git/2.15.1_1/libexec/git core
,因为这是我在那里安装的最后一个更新)

除此之外,这意味着您可以编写自己的Git命令,并将它们放在
$PATH
中的某个位置。但在这种情况下,这意味着
Git lfs…
可能会找到
$(Git--exec PATH)/Git lfs
,或者运行以下命令时shell所说的任何内容:

$ which git-lfs
当然,假设您有一个支持此功能的shell

根据您的编辑,我可以想象,
git--exec path
生成
C:\Program Files\git\mingw64\bin

我应该删除这个(另一个应该通过路径找到),还是用新的替换它?还是有更“正式”的方法

删除它可能会起作用。我预见到简单地删除
git-core
目录中的一个主要危险:

$ git --exec-path
/usr/lib/git-core
  • 有时,Git和/或各种类似插件的东西会以不同的速度发展。如果已知有一个配对版本的
    Git lfs
    可以与特定的Git安装一起使用,那么其他一些
    Git lfs
    可能无法工作,因为它可能不同步。(因此,您可以将其保存在第三个位置,而不仅仅是删除它。)

  • 有些东西可能会自动重新安装旧的,或者卸载新的。前者令人讨厌,而后者会导致失败(因此保存旧的可能很方便)


一般来说,
git-asdf
搜索名为
git-asdf
的程序
git-asdf
。无论先找到哪个程序,它都会运行。它添加内置的git核心目录(从
git--exec-PATH
)首先在
$PATH
的前面,因为大多数
git都有
code存在。因此,在您的扩展
$PATH
中,无论哪个
git lfs
是第一个,都可能是使用的。但是用于Windows的git可能不同。我想一定是这样。
git--exec PATH
给了我
C:\Program Files\git\mingw64/libexec/git-core
,它不包含git lfs,但可能它也在做一些windows ey的事情来让mingw64进入它的路径…@torek你想写你的评论作为答案,这样我就可以接受吗?:)谢谢!:)git lfs
(正如git lfs
确实揭示的那样)指向
/cygdrive/c/Program Files/Git LFS/Git LFS
,因为
/cygdrive/c/Program Files/Git LFS
是第一个(非cygwin)我的路径中的条目。
git--exec PATH
实际上指向
C:\Program Files\git\mingw64/libexec/git core
,它似乎不包含
git lfs
,但您建议的路径(
C:\Program Files\git\mingw64\bin
)是这样的,并且似乎是正在运行并删除它的git lfs(我刚刚将它重命名为旧版本的\u git-lfs.exe)修复了这个问题:)