gpt4 book ai didi

git - `git lfs` 使用哪个 git-lfs?

转载 作者:行者123 更新时间:2023-12-02 20:39:09 25 4
gpt4 key购买 nike

我刚刚从 https://github.com/git-lfs/git-lfs/releases 更新了我安装的 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-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 找到,还是用新的替换它?或者是否有更“官方”的方法来做到这一点?

最佳答案

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

git asdf

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

$ git --exec-path
/usr/lib/git-core

(在 Ubuntu 虚拟机上;在我的 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

当然,假设您有一个支持此功能的 shell。

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

Should I just delete this (and the other should be found via the PATH, or replace it with the new one? Or is there a more "official" way of doing this?

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

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

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

关于git - `git lfs` 使用哪个 git-lfs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46345317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com