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

请教一个 git 问题, 最近看 git book 文档中有图片如下

  •  
  •   skyrim61 · 216 天前 · 1851 次点击
    这是一个创建于 216 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5%BB%BA%E4%B8%8E%E5%90%88%E5%B9%B6

    请教下

    按直觉, c0 是一切的源头, 箭头流向应该是 c0->c1->c2 才是

    为什么箭头是 c2->c1->c0 ?

    另外. v2 怎么贴图片?
    13 条回复    2024-05-23 14:00:00 +08:00
    newaccount
        1
    newaccount  
       216 天前
    你画类图的时候箭头是从子类指向父类,这里一样
    lrh3321
        2
    lrh3321  
       216 天前
    把每个分支当成不同的链表,最新的提交指向它的上一个提交,然后一直到头。
    gzyguy
        3
    gzyguy  
       216 天前
    我也有这样的疑问,不过知道后反着理解就好了
    skyrim61
        4
    skyrim61  
    OP
       216 天前
    箭头的指向可不是随意决定的, 不知道是画图的作者是基于什么考虑的? 比如指向父提交? 或者其它
    yolee599
        5
    yolee599  
       216 天前 via Android
    我先提一个问题:一个父亲能有多个孩子,但是一个孩子只会有一个父亲。请设计一个数据库描述他们的关系。

    请问你怎么设计?
    yanghanlin
        6
    yanghanlin  
       216 天前 via Android
    @yolee599 一个 Git commit 可以有多个 parent 的,如 merge commit
    IvanLi127
        7
    IvanLi127  
       216 天前
    因为那个箭头的源头是 commit 自己的,commit 自己是记录着上一个 commit 是谁,所以指向父级。大概是按数据结构画的,类似链表。
    具体这个箭头啥意思,除非作者写清楚这箭头是啥,不然就只能这么推断了,应该没啥标准。
    skyrim61
        8
    skyrim61  
    OP
       216 天前
    是的, 一个 Git commit 可以有多个 parent 的.
    wanqingfengtao
        9
    wanqingfengtao  
       216 天前
    @skyrim61 你可以再看一下 3.1 ,除了根结点,每次提交产生的提交对象会有一个(或多个)指针指向上次提交对象
    所以箭头(指针)是从子节点指向父节点
    cybernty
        13
    cybernty  
       216 天前
    git 核心原理很简洁
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1052 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:06 · PVG 04:06 · LAX 12:06 · JFK 15:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.