ihuzhou
V2EX  ›  问与答

小组成员用 git pull 代码竟然不一样?

  •  
  •   ihuzhou · Nov 14, 2017 · 2772 views
    This topic created in 3285 days ago, the information mentioned may be changed or developed.

    rt

    文件里有一个常用文件,2-3 年一直持续更新。神奇的是,小组里面只有 2 个人存在这块代码,其他人不管更新还是重新拉代码都出不来。后来让存在这块代码的小伙伴重新拉一个完整的包,也没有相应代码。

    然后我重写并且提交了这块代码,结果所有人都可以看见了,也可以更新,与存在这块代码的两个包也不冲突,完美合并了。

    那么问题在哪里呢?

    假如这个代码是 A 写的,B 更新了看到,C D E 更新没看到。

    既然 B 更新到了,说明这个文件已经在远端的 repo 里了。查看这个文件的改动,从创建之初这段代码一直存在。其他人没有更新到很是奇怪。于是我重新提交那块代码,不和远端的文件冲突,所有人都能完美合并。存在这块代码的小伙伴显示那块区域为更新,旧代码不见了。

    Q:1.为啥拉下来的代码不一样? 2.为啥能完美合并呢?

    8 replies  •  2017-11-14 20:47:05 +08:00
    qinxi
    qinxi
    Nov 14, 2017
    1
    分支
    niguyi
    niguyi
    Nov 14, 2017
    2
    分支 合并 变基
    ihuzhou
    ihuzhou
    OP
    Nov 14, 2017
    3
    @qinxi @niguyi 就一个 master 分支啊。
    Lax
    Lax
    Nov 14, 2017 via iPad
    4
    对比这两个人的 HEAD 的 commit id 看看
    O3YwA1ENkb7i35XJ
    O3YwA1ENkb7i35XJ
    Nov 14, 2017
    5
    不是同一个仓库吧.
    哈哈哈哈
    momocraft
    momocraft
    Nov 14, 2017
    7
    和一个论坛网友相比,我比较相信 git 没出错
    ryd994
    ryd994
    Nov 14, 2017 via Android
    8
    因为 pull 是 fetch+merge
    所以也有一派 fetch+rebase 的
    如果习惯 pull 的话,也可以在 pull 之前 stash
    不过你不用担心,最后 commit 上去必须是一致的,除非 push -f
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1078 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 23:07 · PVG 07:07 · LAX 15:07 · JFK 18:07
    ♥ Do have faith in what you're doing.