美文网首页
git、gitee、sourcetree上传大文件

git、gitee、sourcetree上传大文件

作者: 流星阁 | 来源:发表于2022-06-19 14:24 被阅读0次

    上传项目到Gitee碰到单个文件超过100M

    remote: error: File: f422c55c723a183a1944cbec840c0171042c8251 211.94 MB, exceeds 100.00 MB.
    

    意思是单个文件超过100M导致上传失败。搜索到这篇文章关于gitee无法上传大于100M文件的解决方法,自己尝试后成功绕过了gitee对个人社区版的限制。

    首先我要说的是网上之前说修改的方法已经不行了,应该是git把这个给修复了。

    git config http.postBuffer 524288000
    

    所以目前只能用git lfs工具。

    一、安装Git lfs

    1.centos安装方法
    可以按照github上提供的安装方法,运行下列命令进行安装:

    curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh | sudo bash
    sudo yum install git-lfs
    git lfs install
    

    在centos上按照官方提供的步骤报错,大概意思是下载不到安装包
    使用rpm包安装,从在官网下载安装包安装,安装方法如下:
    在上述官网中找到Downloads,然后选择相应的系统安装包下载
    对于centos来说,下载rpm(可以通过lsb_release -a查看系统版本)
    下载rpm包后使用sudo rpm -ivh 包名.rpm进行安装
    运行git lfs install,如果显示Git LFS initialized说明安装成功

    2.Mac 安装运行以下命令节课

    brew install git-lfs
    

    二、使用方法

    1.可开启lfs功能,打开终端运行以下命令:

    cd xxx #'xxx'是你本地仓库目录
    # 只需执行一次即可开启lfs功能
    git lfs install
    

    2.选择文件类型:设置LFS要管理的文件类型

    (1)、单个文件执行如下命令

    #因为我是framework库过大,所以我的命令是*.framework,此处需要根据自己情况设定类型
     git lfs track "*.framework"
    

    (2)、使用git大文件管理方式, 跟踪文件夹中的所有文件(因我要上传整个文件夹里的所有子文件所以使用的是这个)

    // 忽略文件夹中的所有文件(包含文件夹)
    // git lfs track "Pods/TXLiteAVSDK_Professional/**"
    git lfs track "dir/**"
    // 忽略文件夹中的文件(不包含文件夹)
    git lfs track "dir/*"
    

    3.配置远程仓库
    执行完上面的命令后,会生成一个.gitattributes文件,要将其上传到远程gitee仓库。这里我把.gitattributes和大文件分开上传。

    git add .gitattributes
    git commit -m '提交 .gitattributes 文件'
    git push origin master(如果提交不了,后面可以加一个-f)
    

    配置提交后就可正常上传文件

    git add -A   提交所有 或指定当前大文件提交
    $ git commit -m "大文件"
    $ git push origin master -f
    

    4.上传时可能碰到的错误:

    报错Message: LFS only supported repository in paid enterprise.: exit status 128

    解决方法:

    rm .git/hooks/pre-push
    git push -u origin "master"
    

    报错message:WARNING: Authentication error: Authentication required: LFS only supported repository in paid enterprise.
    解决办法

    git config lfs.https://gitee.com/{your_gitee}/{your_repo}.git/info/lfs.locksverify false
    

    报错信息:Remote “origin” does not support the LFS locking API. Consider disabling it with:…

    git lfs push origin master --all
    

    若已提交报错可重置到上次版本,执行命令如下
    1.查看提交记录获取commit_id

    git log
    

    2.回退命令

    git reset --hard HEAD^` 回退到上个版本
    git reset --hard HEAD~3` 回退到前3次提交之前,以此类推,回退到n次提交之前
    git reset --hard commit_id` 退到/进到 指定[commit](https://so.csdn.net/so/search?q=commit&spm=1001.2101.3001.7020)的sha码
    

    2.强推到远程仓库

    git push origin HEAD --force
    

    多人写作注意代码同步问题

    相关文章

      网友评论

          本文标题:git、gitee、sourcetree上传大文件

          本文链接:https://www.haomeiwen.com/subject/rzkjvrtx.html