我在一个超然的头上做了一些改变。我想用git推动这些改成这个独立的头部。我不希望我的更改进入开发分支,当然也不是主分支。我正在与另一个人合作。
示例分支
develop
master
*(HEAD detached at origin/49792_testMocha)
如何在不影响开发或掌握的情况下进入头部?
答案 0 :(得分:105)
如果你是一个独立的头,你想推到你的远程分支
git push origin HEAD:name-of-your-branch
否则你可以创建一个新分支并推送到它(它将自动创建)
git branch new-branch-name
git push -u origin new-branch-name
答案 1 :(得分:41)
使用git checkout -b BRANCH_NAME
然后将新分支推送到远程:git push origin BRANCH_NAME
答案 2 :(得分:2)
UIKeyInput
git checkout
这将检查指向所需提交的新分支 此命令将结帐到给定的提交 此时,您可以创建一个分支,并从此开始工作。
git checkout <commit_id>
git checkout -b <new branch> <commit_id>
git checkout HEAD~X // x is the number of commits t go back
答案 3 :(得分:2)
注意:在推送之前创建一个分支是git 2.11或更少用于segfault的建议!
Git 2.12 +(2017年第一季度)不会出现这种情况
commit b10731f见Kyle Meyer (kyleam
)(2017年1月7日)
(由Junio C Hamano -- gitster
--合并于commit b85f79c,2017年1月18日)
branch_get_push
:分离HEAD时不要进行段错误&#34;
git <cmd> @{push}
&#34;在一个独立的HEAD用于段错误;它有 已被纠正错误消息。
现在的错误是:
HEAD does not point to a branch
答案 4 :(得分:0)
为该提交创建一个新分支并结帐:git checkout -b <branch-name> <commit-hash>
。现在,您可以将更改推送到新分支:git push origin <branch-name>
如果您需要从剩余的提交中清理其他分支,请务必运行git reset --hard <branch-name>
。
这篇文章解释了branching and detached head的工作原理。