Eug*_*ene 8 git git-remote git-branch
你能解释一下如何将本地分支推送到特定的远程分支
$ 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
Run Code Online (Sandbox Code Playgroud)
1)我希望我的DEV功能被推入origin/dev并留在那里作为分支机构,我该怎么做?
2)我应该在本地设置什么/何地/如何在origin/dev默认情况下推入而不是origin/master
Aja*_*ati 12
更新:
因此,通常在使用Remote时,首先需要拉出存储库或分支.
如果它的存储库那么
git pull origin
Run Code Online (Sandbox Code Playgroud)
如果它的分支那么
git pull origin <yourRemoteBranchName>
Run Code Online (Sandbox Code Playgroud)
拉完后它会在你的机器上.现在你当前的分支是yourRemoteBranchName.
现在,您拥有Remote分支,然后您可以从该拉动的远程分支创建本地分支.它将从您当前的Remote分支创建一个新的本地分支.
git checkout -b your_branch
Run Code Online (Sandbox Code Playgroud)
将其推送到远程服务器时,将自动创建远程分支.因此,当您准备好它时,您可以这样做:
git push <remote-name> <branch-name>
Run Code Online (Sandbox Code Playgroud)
<remote-name>通常在哪里origin,git为您克隆的远程提供的名称.然后你的同事就会拉出那个分支,它会在本地自动创建.
但请注意,正式格式为:
git push <remote-name> <local-branch-name>:<remote-branch-name>
Run Code Online (Sandbox Code Playgroud)
但是当你省略一个时,它假定两个分支名称是相同的.说完这个之后,请注意,不要仅仅指定:<remote-branch-name>(使用冒号),否则远程分支将被删除!
因此,后续人员git pull将知道该怎么做,您可能会想要使用:
git push -u <remote-name> <local-branch-name>
Run Code Online (Sandbox Code Playgroud)
如下所述,该-u选项设置上游分支:
对于每个最新或成功推送的分支,添加上游(跟踪)引用,由无参数git-pull(1)和其他命令使用.
如果要直接与上游分支合并,
git merge branchName
Run Code Online (Sandbox Code Playgroud)
您可以参考以下文档:https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging.它有很好的例子.
本地切换到dev分支,然后push到origin远程的dev分支:
git checkout dev
git push -u origin dev
Run Code Online (Sandbox Code Playgroud)
-uon 选项设置git push上游跟踪,以便当您位于 dev 分支时,git push和会自动执行与和git pull相同的操作。git push origin devgit pull origin dev
如果我误解了你的问题,并且你想将所有带有“dev...”的分支推送到原点上各自的分支,你可以对每个分支执行上述步骤,或者你可以将所有分支git push origin --all推送到原产地远程。所以在原点上,你会有,,等等。origin/devorigin/dev_3_feature
如果我双重误解了你的问题,并且你想将带有“dev...”的所有分支推送到单个远程分支中,那么我建议不要这样做。最好将所有开发分支合并/变基到一个分支,然后将其推送到原始分支。假设您想使用一个名为 的分支dev:
git checkout dev
git merge dev_3_feature
git merge dev_second_feature
git push -u origin dev
Run Code Online (Sandbox Code Playgroud)
每次合并后,您可能必须解决合并冲突,因此请注意。
最后一点,您可能需要为未来的功能分支提供一些更具描述性的分支名称,因为这样的名称并dev_second_feature不能真正告诉您该功能是什么。
| 归档时间: |
|
| 查看次数: |
11571 次 |
| 最近记录: |