云效中除了clone后重新push,我怎么把非文本文件上传到新建目录?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在云效中,如果您希望将非文本文件上传到新建目录,而不通过 clone
后重新 push
的方式,可以利用 Git LFS(大文件存储) 或其他相关功能来实现。以下是具体操作步骤和方法:
Git LFS 是一种专门用于管理大文件的工具,适合处理非文本文件(如美术资源、算法模型等)。以下是具体操作步骤:
安装 Git LFS
git lfs install
配置需要使用 LFS 管理的文件类型
.bin
和 .model
文件:
git lfs track "*.bin"
git lfs track "*.model"
.gitattributes
文件,记录了哪些文件类型需要通过 LFS 管理。将文件添加到代码库
git add <目标目录>/<文件名>
git commit -m "Add large files using Git LFS"
推送文件到远程仓库
git push origin <分支名>
注意:Git LFS 适用于需要长期管理大文件的场景,但可能会产生额外的存储费用,请根据实际需求选择使用。
如果您不需要将非文本文件直接存储在代码库中,而是希望将其作为构建产物或附件管理,可以使用云效的 制品仓库 功能。以下是具体操作步骤:
创建目标目录
使用迁移工具上传文件
maven-migration-jar-with-dependencies.jar
),将本地文件批量上传到云效制品仓库。java -jar maven-migration-jar-with-dependencies.jar migrate \
-source-dir="<本地文件路径>" \
-target-repo-url="<目标仓库地址>" \
-target-repo-username="<用户名>" \
-target-repo-password="<密码>"
<本地文件路径>
是包含非文本文件的本地目录,<目标仓库地址>
是云效制品仓库的 URL。验证上传结果
重要提示:如果帮助信息中出现中文乱码,请先在命令行中执行 chcp 65001
,然后再运行 Java 命令。
如果您希望通过流水线任务自动上传非文本文件,可以结合云效的 Flow 流水线 功能实现。以下是具体操作步骤:
准备文件
配置流水线任务
mvn deploy
命令将文件上传到 Maven 私有仓库:
mvn -s settings.xml -B clean deploy -Dmaven.test.skip=true
settings.xml
文件中已正确配置目标仓库的地址和访问凭证。运行流水线
说明:此方法适用于需要自动化上传文件的场景,建议结合流水线缓存功能优化构建效率。
以上三种方法分别适用于不同的场景: - 如果需要将非文本文件纳入版本控制,推荐使用 Git LFS。 - 如果需要将文件作为构建产物或附件管理,推荐使用 云效制品仓库。 - 如果需要通过流水线自动化上传文件,推荐结合 Flow 流水线 配置任务步骤。
根据您的实际需求选择合适的方法即可。
云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。