我添加了一个部署脚本,用于检测当前分支,然后执行此操作:
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脚本中提供了一个新分支,我将运行它:
newBranch=$1
eval "git checkout $newBranch"
但是,在我运行它之前,我注意到服务器的当前分支是HEAD(应该是master)。
在运行部署之前,git reset --hard origin / HEAD的作用是什么?我不关心HEAD上的任何跟踪文件我只是想切换到一个新的分支来测试它,后来我会将它返回到它应该是什么是master。只是不确定如果我现在使用分离的HEAD运行重置会发生什么。