我正在嘗試創建一個與模式匹配的分支陣列,以便我可以在回圈中使用它們。我可以在 Linux 模擬器中使用硬編碼字串來執行此操作,該字串與我從 git branch 命令獲得的輸出相匹配,但我在 GitHub Actions 中遇到了奇怪的行為。如果我遍歷“陣列”,則每個匹配分支執行 1 次回圈,但該$branch值沒有輸出。
- id: createMergeBranches
shell: bash
run: |
features=$(git branch -r | grep -i "feature" | sed -e "s/.*origin\///g; /merge/d" | tr "\n" " ")
echo $features // space-separated string of branches in expected format
eval "featureArray=($features)"
# create merge branches
for branch in ${featureArray[@]}
do
mergeBranch="merge/${{ inputs.sourceBranch }}_$branch"
mergeBranches =($mergeBranch)
echo "Feature Branch: $branch"
echo "Merge Branch: $mergeBranch"
done
輸出(n次):
功能分支:
合并分支:merge/develop_
后來當我分配$featureArray給一個環境變數時,它是空的 - 原樣$mergeBranches
uj5u.com熱心網友回復:
將回圈的內部引數名稱從 更改branch為 后featureBranch,一切都按預期作業。我認為與“分支”或類似的東西存在命名沖突。
features=$(git branch -r | grep -i "feature" | sed -e "s/.*origin\///g; /merge/d" | tr "\n" " ")
echo $features // space-separated string of branches in expected format
eval "featureArray=($features)"
# create merge branches
for featureBranch in ${featureArray[@]}
do
mergeBranch="merge/${{ inputs.sourceBranch }}_$featureBranch"
mergeBranches =($mergeBranch)
echo "Feature Branch: $featureBranch"
echo "Merge Branch: $mergeBranch"
done
功能分支:feature/foo
合并分支:merge/develop_feature/foo
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/527941.html
