V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tdwyx
V2EX  ›  程序员

如果在 github 提交代码时使用别人的 email !

  •  
  •   tdwyx · 2013-04-12 22:39:35 +08:00 · 8416 次点击
    这是一个创建于 4244 天前的主题,其中的信息可能已经有所发展或是发生改变。
    linus torvalds 给提交代码了,哈哈



    https://github.com/Boyaa/knowledge
    21 条回复    1970-01-01 08:00:00 +08:00
    sofish
        1
    sofish  
       2013-04-12 22:41:56 +08:00
    -,-
    siw
        2
    siw  
       2013-04-12 22:58:39 +08:00
    很有喜感 ^^
    solos
        3
    solos  
       2013-04-12 23:02:44 +08:00
    汗,这样也可以?
    tdwyx
        4
    tdwyx  
    OP
       2013-04-12 23:06:42 +08:00
    @solos 我的 github 改过 email, 后来拿旧的 email 注册了新号 发现就成这样了
    hfeeki
        5
    hfeeki  
       2013-04-12 23:39:36 +08:00
    @tdwyx 你是用的linus的邮箱吗?怎么会这样呢?
    ax003d
        6
    ax003d  
       2013-04-12 23:44:01 +08:00
    我也发现有这个问题
    orzfly
        7
    orzfly  
       2013-04-13 00:51:28 +08:00
    ```
    git config user.name "Linus Torvalds"
    git config user.email "torvalds@linux-foundation.org"
    git commit -m "Commiting as Linux Torvalds..."
    ```
    然后 github 上就会识别成是它干的=。=
    因为 github 实际上是根据 user.email 识别的。

    至于用户的昵称跟邮箱,`git log` 里有。
    orzfly
        8
    orzfly  
       2013-04-13 00:51:47 +08:00   ❤️ 1
    ……原来这里不是 markdown 啊……
    darkfall
        9
    darkfall  
       2013-04-13 02:57:36 +08:00
    可以的...我发现是因为有几台电脑设置了不同的邮箱
    导致自己一个人的项目都不是全部自己提交的, 蛋疼死了
    hit9
        10
    hit9  
       2013-04-13 12:46:57 +08:00
    对,以前也玩过这种。。
    tt0411
        11
    tt0411  
       2013-04-14 23:06:03 +08:00
    感觉是Git的一个设计缺陷,不光是Github

    SVN的话不存在这个问题。
    cicada
        12
    cicada  
       2013-04-15 12:09:24 +08:00
    非常蛋疼这个问题,有些团队成员以前没输入正确的email和username,导致后面看提交历史纪录的时候根本不知道是谁提交的。
    xdata
        13
    xdata  
       2013-04-15 13:12:57 +08:00
    如果是自己的git仓库,可以用pre-commit hook验证吧?

    不知道目前有没有什么现成的方法在验证登录后(例如ssh),同时验证commit中的用户名,email有效性.
    swulling
        14
    swulling  
       2013-04-15 13:20:53 +08:00
    @darkfall github配置里面有Emails,可以设置多个邮箱
    ihipop
        15
    ihipop  
       2013-04-15 13:41:24 +08:00
    Git不是可以对提交进行签名么?
    goldenlove
        16
    goldenlove  
       2013-04-16 17:24:20 +08:00
    不知奥巴马同学有木有github账号~ 找机会山寨一份~
    话说, 这是git的设计缺陷还是github的? - -;
    orzfly
        17
    orzfly  
       2013-04-16 19:02:37 +08:00
    @cicada 试试 http://stackoverflow.com/questions/750172/how-do-i-change-the-author-of-a-commit-in-git 。不过弄了之后需要带 --force 的 push,其他人的仓库需要重新 clone 或者 rebase。
    swulling
        18
    swulling  
       2013-04-16 19:17:00 +08:00
    @ihipop 对的,linux kernel每份commit都有sign,是伪造不了的

    @goldenlove 这个不算缺陷,因为没有用处。伪造成linus有啥好处么
    jiyinyiyong
        19
    jiyinyiyong  
       2013-04-16 19:56:05 +08:00
    我也觉得是 Bug
    cloudzhou
        20
    cloudzhou  
       2013-04-16 20:49:25 +08:00
    我做代码托管的时候在这个问题上想了很久,其实可以通过ssh证书来确定提交者是谁,但是,git是一种“内部信任”管理体系,就是伪造这个commit没有什么意义,依赖大家自觉和信任,另外,如果我在另一个开发者环境里面提交了一个commit,确实commiter是自己,这样的情况也是有的,所以最后决定放开约束。
    judezhan
        21
    judezhan  
       2013-04-17 12:48:00 +08:00
    hook应该能处理这个事情,但没办法强制每个人都使用hook~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3943 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 05:10 · PVG 13:10 · LAX 21:10 · JFK 00:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.