我刚刚将已安装的Git LFS从https://github.com/git-lfs/git-lfs/releases更新到最新版本(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-lfs。
告诉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)
我应该删除这个(并且应该通过PATH
找到另一个,或者用新的替换它?或者是否有更多&#34;官方&#34;这样做?< / p>
答案 0 :(得分:1)
通常,当你运行Git不知道的任何内置命令(或者甚至是Git 所知道的内置的任何命令时),例如:
git asdf
Git会在$PATH
搜索名为git-asdf
的程序。不过,在进行此搜索之前,Git会插入其内置的git-core目录:
$ git --exec-path
/usr/lib/git-core
(在Ubuntu VM上;在我的Mac上它当前是/usr/local/Cellar/git/2.15.1_1/libexec/git-core
,因为那是我在那里安装的最后一次更新。)
除此之外,这意味着您可以编写自己的Git命令并将它们放在$PATH
中的某个位置。但在这种情况下,这意味着git lfs ...
可能会找到$(git --exec-path)/git-lfs
,或者如果你运行,你的shell会发现:{/ p>
$ which git-lfs
当然,假设您有一个支持此功能的shell。
根据您的编辑,我认为git --exec-path
会产生C:\Program Files\Git\mingw64\bin
。
我应该删除它(另一个应该通过PATH找到,或者用新的替换它?还是有更“官方”的方式来做这个?
删除它可能会有效。我预见到简单地删除git-core
目录中的一个主要危险:
有时Git和/或各种像插件一样工作的东西会以不同的速度发展。如果已知配对版本的git-lfs
可以使用该特定Git安装,则其他一些git-lfs
可能无法正常工作,因为它可能不同步。 (因此,您可以将其保存在第三个位置,而不是仅仅将其移除。)
有些东西可能会自动重新安装旧的,或者卸载新的。前者只是令人讨厌而后者会导致失败(因此将旧版本保存起来可能很方便)。