[英]bower treats git branch and git tag (both lightweight and annotated) distinctly
我們有一個web應用程序,其中包括我們的亭子包“A”。
“ A”是分支機構master
和develop
的git repo。 例如我們的網絡應用程序的bower.json
看起來像這樣:
...
devDependencies: {
...
'A': 'http(s)://gitserver:port/A.git#R1.0'
...
}
目標:
我們的目標是允許webapp始終指向相同的標簽/分支
方法:
我們可以在此處采用兩種方法:
在Bower程序包A
我們在develop
分支和發行master
版本上進行大多數合並工作。 准備發布時,我們在master
分支上創建指向master HEAD
SHA-commit的標記R1.0
。
如果有任何“修補程序”,我們會將提交推送到master。 從本地和遠程刪除標簽R1.0
,並創建指向主master的新HEAD
的標簽R1.0
。
當網絡進行bower update
我們希望它可以獲取Bower軟件包“ A”的最新版本
從master
HEAD
切出一個release分支作為R1.0
。 在任何“修補程序”上,將它們升級為master
,然后使用master
R1.0
進行基礎調整
R1.0
分支始終包含“可發布”代碼。 在這種方法中, master
分支幾乎就像一個“虛擬”分支
問題 :
我們觀察到
bower cache clean && bower update
如果我們使用分支方法,則僅適用(刷新) bower_components
目錄。 即,當我們使用方法1中所述的標簽(嘗試過輕量級和帶注釋的標簽)時, bower_components
不會刷新。
很抱歉這么冗長。 有人可以闡明這一點嗎?
謝謝!
盡管您可以隨意創建和刪除標簽,但我認為它們並不是真的設計為可以像這樣移動。 這種設計的第一個提示是您不能直接移動標簽,而必須刪除並重新創建它。
當您移動已經推送的標簽時,其他獲取更改的人將不會獲得該更新的標簽。 當出現這種情況時,您應該使用
git fetch origin --tags
它將更新被強制按下的標簽。 當您在控制台中看到日志時,您將知道標記已被正確替換。
- [tag update] v0.1 -> v0.1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.