在 GitHub 上创建一个 Swift 包:其实一点也不简单
作者:Erica Sadun,原文链接,原文日期:2015-12-27
译者:DianQK;校对:Cee;定稿:numbbbbb
我觉得我不需要再介绍 Git 了,大家应该已经很熟悉了。
Package.swift
我认为建立一个 git 仓库来使用包管理工具不需要学什么新东西。毕竟使用一个包仅仅是意味着贴一行代码到一个 app 包中,不是吗?
我创建了一个 Package.swift
文件,我想我只需要编译就能用。
import PackageDescription
let package = Package (name: "myutility",dependencies: [.Package(url: "https://github.com/erica/SwiftString.git",majorVersion: 1),]
)
然而我失败了。
Git 标签
当我硬着头皮去学习 git 标签后,才发现它并不会在创建后自动推送到 GitHub 上。事实上,直到我最终克隆了一个仓库并且运行了一下 git tag
命令,发现什么都没有输出时,我才发现了这个问题。
bash
% git tag
%
这就是为什么我一直尝试编译一个简单的测试 app,结局却总是 swift-build: The dependency graph could not be satisfied
(早期的 Swift 编译是 satisfed)。
添加标签
你可以使用 git tag 添加标签,例如:
bash
% git tag -a 1.0.0 -m "Version 1.0.0"
你可以使用不带参数的 git tag 查看所有标签:
bash
% git tag
% 1.0.0
也可以显示标签名字(以及附加的信息):
bash
git tag -n
1.0.0 Version 1.0.0
这些标签不会被自动上传到 GitHub ,除非你推送它们:
bash
% git push --tags
Counting objects: 1, done.
Writing objects: 100% (1/1), 176 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To https://github.com/erica/SwiftString.git
[new tag] 1.0.0 -> 1.0.0
现在,那些依赖于 tag 版本的仓库终于能正常工作了!
Kevin B 补充到:git push --tags
将会推送你所有的标签。所以如果你只想推送一个,需要明确指定出来,例如,git push origin v1.0.0
阅读标签
进入你的包文件夹,就可以在终端中阅读标签。你可以看到,每一个文件结尾都包含标签数字。
bash
% ls
% ./ ../ SwiftString-1.0.1/
如果你点进这个包的文件夹,你会看到完整的克隆仓库,包括全部的 .git 文件。你同样可以在这里查看标签和与其关联的信息:
bash
% cd SwiftString-1.0.0/
% ls
./ .git/ Makefile README.md
../ .gitignore Package.swift Sources/
% git tag -n
1.0.0 Version 1.0.0
%
希望这篇文章对大家有帮助,解决这个问题浪费了我一天的时间。
本文由 SwiftGG 翻译组翻译,已经获得作者翻译授权,最新文章请访问 http://swift.gg。
在 GitHub 上创建一个 Swift 包:其实一点也不简单相关推荐
- 在github上创建分支
GitHub上创建一个项目,默认只有一个master分支,下面演示如何创建分支 输入分支名develop,点击下面的Create branch 创建成功
- 在github上创建文档翻译项目,并与readthedocs、transifex整合的方法
一.概述 本文以创建Django最新LTS版本的文档简体中文翻译项目为例,描述了在github.com上创建文档翻译项目,并与readthedocs.org和transifex.com整合的方法. 操 ...
- 在github上创建自己的第一个项目仓库实录
学会操作git和使用Github来管理代码是技术开发人员的必备基本功,在工作中越来越发现,熟练掌握好git这个利器对工作非常有帮助, 遂静心专门攻之. 下面是我在github上创建的第一个测试项目.详 ...
- 在github上创建新分支
在github上创建仓库: Create a new repository on the command line touch README.md git init git add README.md ...
- 如何在github上fork一个项目来贡献代码以及同步原作者的修改
如何在github上fork一个项目来贡献代码以及同步原作者的修改 作为一个IT人,通过github进行学习是最快的成长手段.我们可以浏览别人的优秀代码.但只看不动手还是成长得很慢,因此为别人贡献代码 ...
- 关于如何在github上创建团队开发环境
今天想写个如何在github上创建团队开发环境的博客.送给那些还不知道如何在github上创建团队开发环境的开发人员. 1.首先,当然你要有个github的账号.具体怎么注册我这里就不说了.可以上gi ...
- github上创建java项目简单操作
github上创建java项目简单操作 参考L: github上创建java项目简单操作 - CSDN博客 http://blog.csdn.net/qq_29392425/article/detai ...
- 如何在GitHub上创建自己的仓库?
大家好,我是柒星 接着上一节GitHub的内容,这篇我们讲如何在GitHub上创建自己的仓库!废话不多说,我们直接上干货!!!以下文章来自公众号[Honker],可在公众号内查看学习资料,领取更多Gi ...
- 一步步在GitHub上创建博客主页-最新版
github page github-page是一个免费的静态网站托管平台,由github提供,它具有以下特点: 免空间费,免流量费 具有项目主页和个人主页两种选择 支持页面生成,可以使用jekyll ...
最新文章
- ASP.NET MVC自定义ActionResult实现文件压缩
- C#分布式事务(TransactionScope )
- 文献学习(part88)--Graph Learning for Multiview Clustering
- 【java】如何在IDEA 中查看 Class文件的汇编
- 【MySQL】MySQL监控工具 mysql-monitor
- 在Qtopia中添加国际化支持
- 【ELT.ZIP】OpenHarmony啃论文俱乐部—数据密集型应用内存压缩
- mt管理器主题修改教程_手机全局主题:美乐蒂
- 移动端人脸识别活体检测,高效集成
- 2022-2028全球智能门锁系统行业调研及趋势分析报告
- Codeforces D. Berserk And Fireball(贪心)
- 舞蹈链算法与数独求解
- velodyne16点云特征分类
- QT开发应用程序(17)-- 读写XLS文件
- SQL中数据类型转换
- 游戏编程模式 - 命令模式
- keil5安装及注册许可
- 高等数学(第七版)同济大学 总习题九(后10题) 个人解答
- 谷歌大脑团队任意图像风格化迁移论文详解,模型还可以跑在您本地浏览器里...
- 【一】VVC理论知识之图像块划分
热门文章
- C# 将链表存入二进制文件及读取二进制文件得到链表示例
- 《iOS应用开发指南——使用HTML5、CSS3和JavaScript》——第1章 变小的巨大影响1.1 移动魔力和掌上电脑...
- 优化篇-“移动端”图片上传架构的变迁
- python----iter\next
- CentOS 安装Sqlite3
- mybatis实战总结
- React Native Fetch封装那点事...
- ios启动私有链查询区块信息
- ARP 协议 理解
- 面试题10-二进制中1的个数