标签: git-lfs

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

我刚刚将安装的 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-lfs git-for-windows

2
推荐指数
1
解决办法
2440
查看次数

在 Visual Studio 2017 中使用 LFS

我不想将 Visual Studio 2017 (15.5) 与使用 Git LFS 跟踪某些文件的 Git 存储库一起使用。

我已经在机器上安装了 Git 2.15,其中包含 Git LFS。

我安装的 Visual Studio 2017 只安装了以下工作负载,没有安装 Git 组件,因为它已经在机器上可用:

--add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.NetWeb --add Microsoft.VisualStudio.Workload.NetCoreTools --add Microsoft.VisualStudio.Component.Wcf.Tooling

Visual Studio 现在无法从存储库签出分支,因为它找不到 Git LFS。

我认为这是因为git-lfs.exe在路径上不可用,并且 Visual Studio 在c:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin\.

如果我另外安装了独立的 git-lfs 安装程序,它git-lfs在路径上可用,结帐可以在某些机器上运行,但不能在其他机器上运行(还没有发现有什么区别,可能是安装顺序,或者是新安装或更新视觉工作室)。

如果我删除该c:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\文件夹,则在 Visual Studio 中一切正常,因为它确实使用了路径中可用的 Git 版本。

我的问题是:

  1. 在 Visual Studio 中获得 Git LFS 支持的假设方法是什么?
  2. 有没有办法让 Visual Studio 在路径上使用 Git …

visual-studio team-explorer git-lfs visual-studio-2017

2
推荐指数
1
解决办法
4692
查看次数

修复 git-lfs 用户错误

我们在 gitlab 中有一个启用了 git-lfs 的存储库,它工作得很好。它很好地分离了 pdf、电影和其他我们不想进行版本管理的内容。

出现用户错误,有人在未启用 git-lfs 支持的系统上克隆存储库。那个人将一个 pdf 文件添加到 git 并推送回服务器。

然后另一个用户在有 git-lfs 的系统上获取该分支,并尝试检查它:

   $ git checkout pj-guide_47_mac_R_setup
   Switched to branch 'pj-guide_47_mac_R_setup'
   Your branch is behind 'origin/pj-guide_47_mac_R_setup' by 14 commits, and can be fast-forwarded.
    (use "git pull" to update your local branch)
    Encountered 1 file(s) that should have been pointers, but weren't:
        47.mac_R_setup/47.mac_R_setup-slides.pdf 
Run Code Online (Sandbox Code Playgroud)

正确配置 git-lfs 来修复该 pdf 文件的系统上最直接的路线是什么?根据https://github.com/git-lfs/git-lfs/issues/1726,有 git lfs merge import 与 git-lfs 2.3.0 一起发布的用法,但我无法理解如何使用它。

git-lfs

2
推荐指数
1
解决办法
2829
查看次数

git“lfs”和“hooks”文件夹是否应该位于 .git 文件夹之外?

我已经开始在 Unity 项目中使用 git-lfs。安装 git-lfs 并提交一些资源文件后,一切似乎都工作正常。现在我注意到我的工作目录中有一些名为的文件夹lfs,但hooks它们不在该.git目录内。当我执行git statusgit 操作时,会将这些文件夹内的文件列为未跟踪的新文件。这不是它应该如何工作的,对吧?有什么想法可能导致此问题以及我应该检查什么吗?

这是输出:

$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        deleted:    Assets/Scripts/PlayerController/FOVKick.cs
        deleted:    Assets/Scripts/PlayerController/LerpControlledBob.cs

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        deleted:    Assets/Scripts/PlayerController/FOVKick.cs.meta
        deleted:    Assets/Scripts/PlayerController/LerpControlledBob.cs.meta

Untracked files:
  (use "git …
Run Code Online (Sandbox Code Playgroud)

git git-lfs

2
推荐指数
1
解决办法
1425
查看次数

如何使用 pip 从 git 存储库安装具有 git-lfs 内容的 python 包?

我已将 git 存储库中的大文件迁移到 git-lfs。该存储库包含自定义 python 库的源代码。我可以用 pip 安装它:

pip install git+https://gitserver.com/myrepo.git@branch
Run Code Online (Sandbox Code Playgroud)

目前(迁移后),存储在 lfs 的大文件显然不在安装范围内(只有链接)。我已经在环境中安装了 PyPI 的 git-lfs 包,但没有帮助。
有没有办法告诉 pip 在克隆存储库时获取 git-lfs 文件?

python git pip git-lfs

2
推荐指数
2
解决办法
4920
查看次数

在 SourceTree 中使用 Git LFS 跟踪文件

我下面这个指南有关如何使用Git的LFS。

文章指出,用户需要安装 Git LFS 命令行客户端,或 Git LFS 感知 GUI 客户端,例如 Sourcetree。

尽管看起来很简单,但我找不到有关如何在 SourceTree GUI 中使用 Git LFS 跟踪文件的任何信息,只有命令行指令,如 git lfs track "*.ogg"。是否可以?

atlassian-sourcetree git-lfs

2
推荐指数
1
解决办法
6596
查看次数

使用 LFS 从本地存储库进行 Git 克隆

我有一个本地 git 存储库,启用了 LFS。

我经常需要将其克隆到同一驱动器上的其他位置。虽然复制粘贴存储库可以完全满足我的要求,但我在执行此操作时遇到了一些问题git

cd C:\wrkfldr\SUBDIR
git clone "C:\wrkfldr\LOCAL_REPO\.git"
Run Code Online (Sandbox Code Playgroud)

退货

Cloning into 'LOCAL_REPO'...
done.
Downloading BIG_LFS_FILE.xlsm (6.4 MB)
Error downloading object: BIG_LFS_FILE.xlsm (01d6d9b): Smudge error: Error downloading BIG_LFS_FILE.xlsm (01d6d9b68a17724fbd7e5aad72b643621edf1ac9ccd34f3ea0874a870af87e4c): batch request: ssh: Could not resolve hostname c: Name or service not known: exit status 255

Errors logged to C:\Users\LOCAL_REPO\.git\lfs\logs\20191203T095345.1265547.log
Use `git lfs logs last` to view the log.
error: external filter 'git-lfs filter-process' failed
fatal: BIG_LFS_FILE.xlsm: smudge filter lfs failed
warning: Clone succeeded, but checkout failed.
You …
Run Code Online (Sandbox Code Playgroud)

git clone git-lfs

2
推荐指数
1
解决办法
1851
查看次数

删除Git lfs链接到文件并直接添加到git

我需要删除 Git LFS 文件指针,并将文件直接添加到 Git。

我在 .gitattributes 中有一个过滤器来匹配某些文件:

test/**/*.py filter=lfs diff=lfs merge=lfs -text
Run Code Online (Sandbox Code Playgroud)

如何修改它以从此模式中排除 1 个文件?

我尝试过这样的事情:

test/**/*.py !test/my_dir/my_file.py filter=lfs diff=lfs merge=lfs -text
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用...git说没有这样的文件

git gitattributes git-lfs

2
推荐指数
1
解决办法
1893
查看次数

如何缩小 git LFS 存储库

在我的公司,我们使用git LFS存储系统开发相关的文件。该存储库包含 CAD 数据、图像、文档(*.pdf、*.docx、*.xlsx)等。绝对有必要将所有文件置于版本控制之下。然而,尽管 LFS 跟踪所有文件,但存储库的使用方式最终导致存储库的总大小达到 8GB。

基本上所有内容都被推送到主分支上,这似乎使 LFS 存储变得过时,因为无法修剪任何内容来保存本地存储。

问题

有没有办法让更多的本地对象被追溯修剪?

git git-lfs

2
推荐指数
1
解决办法
4999
查看次数

`git lfs track` 的作用不仅仅是写入 `.gitattributes` 吗?

根据我的理解,.gitattributes.gitignore. 如果我在 中定义了一个过滤器.gitattributes,这个过滤器就会生效并且文件将被传输到 LFS。

在每个 GIT LFS 相关文档(官方文档、stackoverflow 答案等)中,建议运行git lfs track.

难道git lfs track做任何事情比过滤写.gitattributes

git git-lfs

2
推荐指数
1
解决办法
997
查看次数