我添加了一個部署腳本檢測當前分支,然後在其他的事情上運行此:的Git的復位 - 硬上分離的頭
currentBranch=$(git rev-parse --abbrev-ref HEAD)
eval "git fetch --all # fetch all remote branches"
eval "git reset --hard origin/$currentBranch" # clean up currentBranch
,如果一個新的分支是在bash腳本提供的I我會運行這個:
newBranch=$1
eval "git checkout $newBranch"
但是,在我跑它之前,我注意到服務器的當前分支是頭(應該是主)。
在運行部署之前,git reset --hard origin/HEAD的效果如何。我不關心HEAD上的任何跟蹤文件我只是想切換到一個新的分支來測試它,後來我將它返回到它應該是主人的東西。只是不知道如果我現在用分離的HEAD運行重置會發生什麼。
一個方面:你不需要在這裏'eval' - 刪除它並且只在'$ variables'附近保留雙引號。 – Roman