V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
freemangl
V2EX  ›  git

关于 git 的用法,远端已经有 main 和 dev 分支的情况下,本地的是 main 分支,如何把远端的 dev 也拉下来做开发,然后修改再合并到 main 上呢?

  •  
  •   freemangl · 49 天前 · 1904 次点击
    这是一个创建于 49 天前的主题,其中的信息可能已经有所发展或是发生改变。
    远端已经有 main 和 dev 分支的情况下,本地的是 git clone 下来的 main 分支,如何把远端的 dev 也拉下来做开发,然后修改再合并到 main 上呢?
    10 条回复    2021-10-13 09:36:40 +08:00
    newaccount
        2
    newaccount   49 天前
    git fetch; git checkout -b dev origin/dev
    AoEiuV020
        3
    AoEiuV020   49 天前
    一般情况直接 clone 没有手动指定分支的话其实 dev 分支也已经 clone 下来了,
    直接 git checkout dev 就可以把本地切到远端一样的 dev 分支,
    julyclyde
        4
    julyclyde   49 天前
    git fetch
    git branch -R 查看远程分支
    然后
    git checkout -b 本地分支名字 origin/远程分支名字
    ysc3839
        5
    ysc3839   49 天前   ❤️ 1
    CEBBCAT
        6
    CEBBCAT   49 天前 via Android
    记得单独拉一个分支做修改或者使用 cherry-pick,不要把 dev 合并到 main
    skiy
        8
    skiy   49 天前   ❤️ 1
    直接 git checkout dev 就好了,连 -b 都不需要。前提是你是从该仓库拉下来的,且其有 dev 分支。
    jinliming2
        9
    jinliming2   49 天前   ❤️ 2
    # 正常 clone 的时候,所有远端分支都下来了的,如果 dev 是在你 clone 之后才创建的,或者在你 clone 之后有更新,跑一遍这个总没错!
    git fetch origin dev

    # 本地创建并切到 dev 分支,并跟踪远程 dev
    git checkout -b dev origin/dev

    # 本地修改

    # 添加并提交
    git add xxx
    git commit -m "xxx"

    下面两种情况:
    1,你推送 dev 到远程,然后远程上合并:直接 git push 就行,然后远程上操作
    2,你本地合到 main 上,推到远程 main:
    # 切换回本地的 main 分支
    git checkout main
    # 合并 dev 的修改
    git merge --no-ff dev
    # 推送 main
    git push
    freemangl
        10
    freemangl   48 天前
    @jinliming2 感谢!非常详细
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1085 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:39 · PVG 04:39 · LAX 12:39 · JFK 15:39
    ♥ Do have faith in what you're doing.