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

请教一个 git 的问题

  •  
  •   Pzdmultiverse · 12 天前 · 1399 次点击

    远端仓库上 master 下的 test.txt 文件是这样:

    本地 master 下的 test.txt 文件是这样的:

    执行了下面这些代码:

    问题是为什么本地的文件没有任何变化呢?

    11 条回复    2024-05-23 18:39:54 +08:00
    zwzwzwzwzxt
        1
    zwzwzwzwzxt  
       12 天前
    你链接了多个远程仓库吗?本地切到 master 分支检查下 master 的上游是这个 origin2 吗:

    ```
    git rev-parse --abbrev-ref --symbolic-full-name @{u}
    ```

    ----

    如果用 reset ,可以得到正确的结果吗?

    ```
    git reset --hard origin2/master
    ```
    kylebing
        2
    kylebing  
       12 天前
    https://git-scm.com/book/zh/v2 看完就有答案了
    kk2syc
        3
    kk2syc  
       12 天前
    得 pull 吧
    geelaw
        4
    geelaw  
       12 天前 via iPhone
    告知我们文件内容对 merge 的行为分析是次要的——merge 首先考量的是历史关系,在历史关系的基础上才考虑内容变化。我们需要知道每个 ref 的 commit hash 以及这些 commit 之间的图关系才能告诉你为什么看起来 merge 什么事情都没发生。

    运用 psychic debugging 的技巧,最简单的解释是本地的 master 是 origin2/master 基础上新做了几次 commit 的结果,而在 descendant 上 git merge ancestor 的效果是没有任何效果。
    ysc3839
        5
    ysc3839  
       12 天前
    fetch 不是 checkout ,只会更新 .git 下的元数据。
    ysc3839
        6
    ysc3839  
       12 天前
    @ysc3839 看漏了下面的 merge 。建议试试 reset
    fpk5
        7
    fpk5  
       11 天前
    你这个 master 是不是就是在 origin2/master 的基础上改的?
    IamBack
        8
    IamBack  
       11 天前
    可以把节点关系图贴出来,这样大家好帮你判断原因。
    daj2
        9
    daj2  
       11 天前
    合并分支的逻辑是基于提交历史的,你更应该去查看两个分支的历史差异,如果本地分支的变动是基于远端分支之后提交的,自然不会产生变动
    Honye
        10
    Honye  
       11 天前
    觉得 7 楼正解。贴下 Commit Graph 就清楚了
    3a10IgjVYjvsH93b
        11
    3a10IgjVYjvsH93b  
       11 天前
    本地的代码是基于远程仓库的代码变更的,pull 不该有变化😶‍🌫️😶‍🌫️

    要是另一个 developer push 一些内容,就有变化或冲突了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1396 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 17:30 · PVG 01:30 · LAX 10:30 · JFK 13:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.