在 GitHub 上建立一個 Swift 包:其實一點也不簡單

做者:Erica Sadun,原文連接,原文日期:2015-12-27
譯者:DianQK;校對:Cee;定稿:numbbbbbgit

我以爲我不須要再介紹 Git 了,你們應該已經很熟悉了。github

Package.swift

我認爲創建一個 git 倉庫來使用包管理工具不須要學什麼新東西。畢竟使用一個包僅僅是意味着貼一行代碼到一個 app 包中,不是嗎?swift

我建立了一個 Package.swift 文件,我想我只須要編譯就能用。bash

import PackageDescription
let package = Package (
    name: "myutility",
    dependencies: [
    .Package(url: "https://github.com/erica/SwiftString.git",
                 majorVersion: 1),
    ]
)

然而我失敗了。app

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 查看全部標籤:ui

bash
% git tag
% 1.0.0

也能夠顯示標籤名字(以及附加的信息):url

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

相關文章
相關標籤/搜索