• 请不要在回答技术问题时复制粘贴 AI 生成的内容
tdwyx
V2EX  ›  程序员

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

  •  
  •   tdwyx · Apr 12, 2013 · 9712 views
    This topic created in 4956 days ago, the information mentioned may be changed or developed.
    linus torvalds 给提交代码了,哈哈



    https://github.com/Boyaa/knowledge
    21 replies  •  1970-01-01 08:00:00 +08:00
    sofish
    sofish
    Apr 12, 2013
    1
    -,-
    siw
    siw
    Apr 12, 2013
    2
    很有喜感 ^^
    solos
    solos
    Apr 12, 2013
    3
    汗,这样也可以?
    tdwyx
    tdwyx
    OP
    Apr 12, 2013
    4
    @solos 我的 github 改过 email, 后来拿旧的 email 注册了新号 发现就成这样了
    hfeeki
    hfeeki
    Apr 12, 2013
    5
    @tdwyx 你是用的linus的邮箱吗?怎么会这样呢?
    ax003d
    ax003d
    Apr 12, 2013
    6
    我也发现有这个问题
    orzfly
    orzfly
    Apr 13, 2013
    7
    ```
    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
    orzfly
    Apr 13, 2013❤️1
    8
    ……原来这里不是 markdown 啊……
    darkfall
    darkfall
    Apr 13, 2013
    9
    可以的...我发现是因为有几台电脑设置了不同的邮箱
    导致自己一个人的项目都不是全部自己提交的, 蛋疼死了
    hit9
    hit9
    Apr 13, 2013
    10
    对,以前也玩过这种。。
    tt0411
    tt0411
    Apr 14, 2013
    11
    感觉是Git的一个设计缺陷,不光是Github

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

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

    @goldenlove 这个不算缺陷,因为没有用处。伪造成linus有啥好处么
    jiyinyiyong
    jiyinyiyong
    Apr 16, 2013
    19
    我也觉得是 Bug
    cloudzhou
    cloudzhou
    Apr 16, 2013
    20
    我做代码托管的时候在这个问题上想了很久,其实可以通过ssh证书来确定提交者是谁,但是,git是一种“内部信任”管理体系,就是伪造这个commit没有什么意义,依赖大家自觉和信任,另外,如果我在另一个开发者环境里面提交了一个commit,确实commiter是自己,这样的情况也是有的,所以最后决定放开约束。
    judezhan
    judezhan
    Apr 17, 2013
    21
    hook应该能处理这个事情,但没办法强制每个人都使用hook~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1888 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 07:13 · PVG 15:13 · LAX 23:13 · JFK 02:13
    ♥ Do have faith in what you're doing.