Sve*_*sen 2 git git-lfs git-for-windows
我刚刚将安装的 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)
Run Code Online (Sandbox Code Playgroud)
如果我运行git-lfs version我会看到新版本:
$ git-lfs version
git-lfs/2.3.0 (GitHub; windows amd64; go 1.8.3; git 4dd2bf73)
Run Code Online (Sandbox Code Playgroud)
我不确定我是否理解该git lfs命令在哪里找到它的 git-lfs。我已经找到了几个(或至少一个)旧的 git-lfs 安装并删除了它们,尽管 git 似乎仍然找到了一个旧的。并且路径中没有其他 git-lfs。
我需要做什么才能告诉 git 使用新安装的版本?
我正在运行 Windows 10 并使用 Cygwin。我在 PowerShell 和 cmd 中得到同样的结果。
编辑: 我发现了这个:
C:\Program Files\Git\mingw64\bin\git-lfs.exe
Run Code Online (Sandbox Code Playgroud)
这似乎是旧版本:
$ /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)
Run Code Online (Sandbox Code Playgroud)
我应该删除这个(另一个应该通过 找到PATH,或者用新的替换它?还是有更“官方”的方法来做到这一点?
一般来说,当您运行任何 Git 不知道是内置命令(或者甚至是 Git 确实知道是内置命令)的任意命令时,例如:
git asdf
Run Code Online (Sandbox Code Playgroud)
Git 将搜索您的$PATH名为git-asdf. 不过,在进行此搜索之前,Git 会插入其内置的 git-core 目录:
$ git --exec-path
/usr/lib/git-core
Run Code Online (Sandbox Code Playgroud)
(在 Ubuntu VM 上;在我的 Mac 上,这是/usr/local/Cellar/git/2.15.1_1/libexec/git-core我安装的最后一次更新)。
除此之外,这意味着您可以编写自己的 Git 命令并将它们放在$PATH. 但在这种情况下,这意味着如果您运行以下命令,git lfs ...可能会找到$(git --exec-path)/git-lfs或 shell 所说的任何内容:
$ which git-lfs
Run Code Online (Sandbox Code Playgroud)
当然,假设您有一个支持此功能的 shell。
根据您的编辑,我想会git --exec-path产生C:\Program Files\Git\mingw64\bin.
我应该删除这个(另一个应该通过路径找到,还是用新的替换它?或者是否有更“官方”的方法来做到这一点?
删除它可能会起作用。我预见到简单地删除目录中的一个会存在两个主要危险git-core:
有时,Git 和/或像插件一样工作的各种事物以不同的速度发展。git-lfs如果已知有一个配对版本可以与特定的 Git 安装配合使用,则其他版本git-lfs可能无法工作,因为它可能不同步。(因此,您可以将其保存在第三个位置,而不是直接将其删除。)
有些东西可能会自动重新安装旧的,或卸载新的。前者很烦人,而后者会导致失败(因此保存旧的可能会很方便)。
| 归档时间: |
|
| 查看次数: |
2440 次 |
| 最近记录: |