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