git,如何将本地分支推送到特定的远程
你能解释一下如何将本地分支推送到特定的远程分支吗git,如何将本地分支推送到特定的远程,git,git-branch,git-remote,Git,Git Branch,Git Remote,你能解释一下如何将本地分支推送到特定的远程分支吗 $ git branch -vv dev 4d46c96 [origin/dev] Merge branch '1783' into dev dev_3_feature 226b914 second commit in dev_3_feature dev_second_feature 6b5f10f second commit in dev_2_feature master baf5fc0 [origin/master: ahead 1] ma
$ git branch -vv
dev 4d46c96 [origin/dev] Merge branch '1783' into dev
dev_3_feature 226b914 second commit in dev_3_feature
dev_second_feature 6b5f10f second commit in dev_2_feature
master baf5fc0 [origin/master: ahead 1] master feature
* myFeature da5cc64 second commit in dev_1_feature
test 334cf7e commiting my super changes locally
1) 我希望我的DEV
功能被推到origin/DEV
并作为分支留在那里,我该怎么做
2) 默认情况下,我应该在本地设置什么/在哪里/如何将其推入origin/dev
,而不是origin/master
更新:
因此,通常在使用Remote时,首先需要提取存储库或分支
如果它的存储库
git pull origin
如果它的分支那么
git pull origin <yourRemoteBranchName>
将远程分支推送到远程服务器时,会自动创建该分支。因此,当你做好准备时,你可以:
git push <remote-name> <branch-name>
但如果省略一个分支,则假定两个分支名称相同。话虽如此,作为一句告诫的话,不要犯只指定:
(带冒号)的严重错误,否则远程分支将被删除
为了让后续的git pull
知道该做什么,您可能需要使用:
git push -u <remote-name> <local-branch-name>
您可以参考以下文档:。它有很好的例子。在本地切换到dev分支,然后推送到源远程上的dev分支:
git checkout dev
git push -u origin dev
git push
上的-u
选项设置上游跟踪,这样当您在开发分支上时,git push
和git pull
自动执行与git push origin dev
和git pull origin dev
相同的操作
如果我误解了您的问题,您想将带有“dev…”的所有分支推送到origin上各自的分支中,您可以对这些分支中的每个分支执行上述步骤,或者您可以执行
git push origin--all
将所有分支推送到origin remote。所以在origin上,您将拥有origin/dev
,origin/dev\u 3\u功能
,等等
如果我双重误解了你的问题,你想把所有带有“dev…”的分支都推到一个远程分支中,那么,我建议不要这样做。最好将所有dev分支合并/重设为一个分支,然后将其推送到origin。假设您想使用一个名为
dev
的分支:
git checkout dev
git merge dev_3_feature
git merge dev_second_feature
git push -u origin dev
在每次合并之后,您可能必须解决合并冲突,因此请注意
最后,您可能需要为将来的功能分支提供一些更具描述性的分支名称,因为像
dev\u second\u feature
这样的名称并不能真正告诉您功能是什么 谢谢,但是我可以拥有origin/dev/my_dev_分支
吗?或者git不支持有许多其他分支的树,等等?我希望我的master
分支与生产版本保持一致,但我的新功能将位于origin/dev/my_feature\u分支1
、origin/dev/my_feature\u分支2
等下。所以团队负责人可以检查我的功能\u分支
,如果它们正常,然后将它们合并到源代码/dev
中,这是可能的吗?是的,你绝对可以。只需在本地签出特性分支(git checkout-b dev/some feature
),提交一些东西,然后推送它(git push-u origin dev/some feature
)。git push origin dev/dev_3_特性
错误:src refspec dev/dev_3_特性与任何特性都不匹配。错误:无法将某些引用推送到“”,谢谢您的回答。你的意思是,推送后本地创建的所有功能分支
都将被跟踪分支,并且所有这些分支都将从源站
像源站/my\u功能分支
,源站/my\u功能分支
和我不能做源站/DEV/my\u功能分支
,origin/DEV/my\u feature\u branch\u 2
因此,只要您能够做到这一点,就可以从另一个分支创建分支。您可以在我的回答中使用第一个命令。是的,我使用命令$git checkout-b dev_3_feature dev
创建了我的本地feature_分支
,因此本地我的dev_3_功能
属于本地dev
,正如您从我的分支列表中看到的,它正在跟踪远程源/dev
。现在,当功能在本地制作和提交时,我如何将其上传到远程源代码/dev
,以便团队负责人可以提取我的源代码/dev/super\u功能
检查它,如果确定,将其合并到源代码/dev
,但如果没有,我会说我喜欢“修复这里和那里”,这样我就可以在本地切换到我的分支机构,修复所需的内容并再次将其推送到remoteYes,您可以推送代码,并从存储库访问创建一个请求。如果一切正常,它将被合并到您的分支。您可以根据我的功能分支而不仅仅是地名持有人名称再次编辑它吗?所以工作流程如下所示:1)切换到dev
分支2)git pull
从远程origin/dev
3)从dev
创建新分支super_特性
:git checkout-b super_特性dev
4)实现并提交git提交-am“超级功能的一些描述”
5)问题在这一步中,现在我需要将我的super\u功能
分支推到远程origin/dev
:git push-u origin/dev super\u功能
如果这样做,则会导致致命的origin/dev not存储库
git merge branchName
git checkout dev
git push -u origin dev
git checkout dev
git merge dev_3_feature
git merge dev_second_feature
git push -u origin dev