Answers:
“无分支”状态称为分离的HEAD。之所以这样称呼,是因为HEAD ref未附加到任何分支,而是直接指向提交。要将HEAD附加到指向当前HEAD提交的分支上,请使用git checkout -b branchname
。
您可以安全地更新现有分支,以按以下顺序包括在HEAD的提交:
git branch temp
git checkout branchname
git merge temp
git branch -d temp
或者,等效地,使用reflog表示法HEAD@{1}
来避免进行临时分支:
git checkout branchname
git merge HEAD@{1}
如果您不打算立即进行合并,则使用临时分支将是一个好主意。
如果要强制覆盖现有分支以指向HEAD处的提交,则可以使用git branch -f branchname && git checkout branchname
。如果在HEAD的提交不基于分支名称的当前提示,则将导致您通常要避免的对分支名称的非快进更改(被视为重写历史记录)。
git merge $COMMIT_SHA
曾经在另一个分公司做过一次。