我希望通过智能方式使用lfs跟踪我的框架.所以这是我对git lfs的设置:
*.framework/Versions/A (.gitattributes)
*/*.framework/Versions/A (.gitattributes)
*/{*.framework}/Versions/A (.gitattributes)
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我跑的时候
"git add ."
Run Code Online (Sandbox Code Playgroud)
lfs没有跟踪文件.
如何解决这个问题.谢谢!
ehr*_*rdt 29
重要提示:要成功使Git LFS正常工作,该文件可能尚未出现在您的Git历史记录中.
强制性步骤:
通过brew(或mac端口..)安装Git LFS
brew install git-lfs
在Jour本地Git仓库中初始化LFS.否则你的命令将无效.
git lfs install
// Updated pre-push hook. Git LFS initialized.
不要直接跟踪iOS框架(例如"opencv2.framework"),因为macOS会将其视为文件夹.只需跟踪框架内的一个大型二进制文件.
git lfs track MyProject/Libraries/opencv2.framework/Versions/A/opencv2
// Tracking MyProject/Libraries/opencv2.framework/Versions/A/opencv2
添加所有文件,包括新生成的".gitattributes"
git add .
提交更改
git commit -m "added lfs binary"
现在验证LFS是否正确跟踪了该文件
git lfs ls-files
// 604bd36eb5 * MyProject/Libraries/opencv2.framework/Versions/A/opencv2
按下提交,看到Git首先上传大文件
git push
// Git LFS: (1 of 1 files) 3.54 MB / 87.34 MB
你完成了.
您可以按照以下步骤将所有框架添加到 git lfs:
brew install git-lfs # install via homebrew
git lfs install # initialize lfs for yor repo
git lfs track ios-app/Frameworks/*.framework/**/* # track all frameworks in your project
git add --all # stage
git commit -m "Added files to git lfs" # commit
git lfs ls-files # check that files are tracked
Run Code Online (Sandbox Code Playgroud)
最终你应该得到下一个结果:
9ee501fdc8 * ios-app/Frameworks/Lottie.framework/Headers/Lottie-Swift.h
8fa3ecc835 * ios-app/Frameworks/Lottie.framework/Info.plist
4a870aa4cc * ios-app/Frameworks/Lottie.framework/Lottie
Run Code Online (Sandbox Code Playgroud)
请注意,这不会将任何预先存在的文件转换为 Git LFS(来自其他分支或之前的提交历史记录)。为此,请使用git lfs migrate命令:
git lfs migrate import --include='ios-app/Frameworks/*.framework/**/*' --everything
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2659 次 |
| 最近记录: |