V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mhtt
V2EX  ›  问与答

还是 git flow 的问题请教

  •  
  •   mhtt · 2015-05-07 20:51:06 +08:00 via iPhone · 1375 次点击
    这是一个创建于 3487 天前的主题,其中的信息可能已经有所发展或是发生改变。
    基于主干master创建了分支dev,再基于dev创建了两个分支Dev1和dev2给两个同事使用,两个分支中各有两个文件,文件a的内容是12345,文件b的内容是09876,dev1修改了a文件的内容变成2345,提交并合并到了dev,dev2修改了b文件的内容为2890,并且commit,这时dev2的操作是

    Git checkout dev
    Git pull
    Git checkout dev2
    Git rebase dev

    这时能把dev1变更后的内容,即a文件的内容同步下来,但dev2修改后的b文件内容也被覆盖成dev1未修改的b文件09876,而不是自己修改完的内容2890,请问操作出错的地方是?
    4 条回复    2015-05-07 21:33:05 +08:00
    kchum
        1
    kchum  
       2015-05-07 21:10:23 +08:00 via iPhone
    不是把 dev1 merge 到 dev 吗?不用 pull 应该只需要后两句。

    但 dev2 应该拿到的是 已经修改过的 b,如果你想回到上一版本的 b 那就再 reset 吧

    不太明白题主想要达到什么目的。
    mhtt
        2
    mhtt  
    OP
       2015-05-07 21:21:01 +08:00
    @kchum 我想达到的目的是,dev2分支能得到dev1修改后的内容,同时也不会覆盖掉本地dev2修改后的内容,如上上面的描述就是dev2分支这里应该是a文件内容是来自dev1修改后的,b文件是dev2本地修改的。
    msg7086
        3
    msg7086  
       2015-05-07 21:24:58 +08:00 via Android
    rebase,应该不会这样的。
    kchum
        4
    kchum  
       2015-05-07 21:33:05 +08:00 via iPhone
    @mhtt dev2 已经 commit,是不会回退的。rebase dev 之后应该是根据最新版本 dev 来进行 dev2 的修改,也就是说你在 dev2 的那个 commit 会基于最新的 dev。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2661 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 05:26 · PVG 13:26 · LAX 21:26 · JFK 00:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.