What is the Sign Off feature in Git for?

前端 未结 4 896
星月不相逢
星月不相逢 2020-11-28 00:15

What\'s the point of the Sign Off feature in Git?

git commit --signoff

When should I use it, if at all?

4条回答
  •  一生所求
    2020-11-28 00:43

    git 2.7.1 (February 2016) clarifies that in commit b2c150d (05 Jan 2016) by David A. Wheeler (david-a-wheeler).
    (Merged by Junio C Hamano -- gitster -- in commit 7aae9ba, 05 Feb 2016)

    git commit man page now includes:

    -s::
    --signoff::
    

    Add Signed-off-by line by the committer at the end of the commit log message.
    The meaning of a signoff depends on the project, but it typically certifies that committer has the rights to submit this work under the same license and agrees to a Developer Certificate of Origin (see https://developercertificate.org for more information).


    Expand documentation describing --signoff

    Modify various document (man page) files to explain in more detail what --signoff means.

    This was inspired by "lwn article 'Bottomley: A modest proposal on the DCO'" (Developer Certificate of Origin) where paulj noted:

    The issue I have with DCO is that there adding a "-s" argument to git commit doesn't really mean you have even heard of the DCO (the git commit man page makes no mention of the DCO anywhere), never mind actually seen it.

    So how can the presence of "signed-off-by" in any way imply the sender is agreeing to and committing to the DCO? Combined with fact I've seen replies on lists to patches without SOBs that say nothing more than "Resend this with signed-off-by so I can commit it".

    Extending git's documentation will make it easier to argue that developers understood --signoff when they use it.


    Note that this signoff is now (for Git 2.15.x/2.16, Q1 2018) available for git pull as well.

    See commit 3a4d2c7 (12 Oct 2017) by W. Trevor King (wking).
    (Merged by Junio C Hamano -- gitster -- in commit fb4cd88, 06 Nov 2017)

    pull: pass --signoff/--no-signoff to "git merge"

    merge can take --signoff, but without pull passing --signoff down, it is inconvenient to use; allow 'pull' to take the option and pass it through.

提交回复
热议问题