从一个独立的头上做一个git推

时间:2016-03-02 00:10:32

标签: git git-push

我在一个超然的头上做了一些改变。我想用git推动这些改成这个独立的头部。我不希望我的更改进入开发分支,当然也不是主分支。我正在与另一个人合作。

示例分支

   develop
   master
   *(HEAD detached at origin/49792_testMocha)

如何在不影响开发或掌握的情况下进入头部?

5 个答案:

答案 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 b10731fKyle 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

使用Git 2.12或更高版本,您可以将分离的HEAD推送到远程分支,如Matt answer所示。

答案 4 :(得分:0)

为该提交创建一个新分支并结帐:git checkout -b <branch-name> <commit-hash>。现在,您可以将更改推送到新分支:git push origin <branch-name>

如果您需要从剩余的提交中清理其他分支,请务必运行git reset --hard <branch-name>

这篇文章解释了branching and detached head的工作原理。