做者:Erica Sadun,原文連接,原文日期:2015-12-27
譯者:DianQK;校對:Cee;定稿:numbbbbbgit
我以爲我不須要再介紹 Git 了,你們應該已經很熟悉了。github
我認爲創建一個 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 標籤後,才發現它並不會在建立後自動推送到 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。