我正在我們的天藍色管道中設定一項任務,以:
- 在 version.txt 中增加專案版本號
- 更新變更日志
- 提交這兩個更改
- 使用新版本號創建標簽
- 將更改推送回 github
這發生在我們的main分支上。
我的腳本如下所示:
echo "$new_version" > version.txt
git-changelog --tag "$new_version"
git add CHANGELOG
git add version.txt
git commit -m "Bump to release $new_version"
git tag -a "$new_version" -m "release $new_version"
git push origin "$new_version"
當我回顧 GitHub 時,更新后的 CHANGELOG 和 version.txt 并沒有出現在main. 然而,新的tag存在。當我單擊查看標簽時,我可以看到該提交中的兩個檔案更改。但我在螢屏上收到一條警告訊息:
此提交不屬于此存盤庫上的任何分支,并且可能屬于存盤庫之外的分支。
GitHub 警告:此提交不屬于此存盤庫上的任何分支,并且可能屬于存盤庫之外的分支。
不知道我做錯了什么,以及如何讓提交應用于我們的主分支。在我的腳本運行之前,代碼簽出由 azure 管道完成,我是否需要在運行命令之前顯式切換/簽出分支?
更新
Azure 管道簽出執行提交的簽出,而不是分支。我需要更新我的腳本以執行簽出main,然后執行我的階段并提交到該分支,然后按我希望的方式推送和標記作業。
git checkout main
#
# work to modify CHANGELOG and version.txt here...
#
git status -v -b
git add CHANGELOG
git add version.txt
git commit -m "Bump to release $new_version"
git push origin main
git tag "$new_version"
git push origin "$new_version"
uj5u.com熱心網友回復:
您正在推送標簽,而不是分支。推樹枝。
換句話說,您抱怨此提交不在 GitHub 上的 main 上,但您并沒有說任何會導致它在 GitHub 上的 main 上的內容。
在運行我的命令之前,我是否需要明確地切換/簽出分支?
也許。您的腳本中沒有任何內容可以告訴我們您提交時是否在 main 上。但即使你是, main 也不是你推送的內容, main 也不是你推送的內容。
如果您是分離的(即不在任何分支上),仍然可以將標簽推送到main。但它的語法很棘手,因為這是一個帶注釋的標簽。請參閱如何使用 refspec 將 Git 標簽推送到分支?更多。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/493162.html
