我想知道如何注册( -s
)关闭,我在git的过去已经取得先前提交?
Answer 1:
要签收之前的承诺,使用修改选项:
git的承诺--amend --signoff
Answer 2:
试试这个重做旧提交了-S
:
git filter-branch -f --commit-filter 'git commit-tree -S "$@"' HEAD
在这之后,你必须git push -f
。 但要小心,提交IDS会改变,其他人也会变得不同步。
Answer 3:
考虑到签收修改提交信息,使用git filter-branch
,以实现这一目标。
git filter-branch --msg-filter \
"cat - && echo && echo 'Signed-off-by: Dan McGee <email@example.com>'" \
HEAD
(例如,从“ git filter-branch
魔 ”)
或者,下面简略J.桑普森的建议 ,使用git interpret-trailers
:
git config trailer.sign.key "Signed-off-by"
git filter-branch --msg-filter \
"cat - && echo && git interpret-trailers --trailer 'sign: 'Signed-off-by: Dan McGee <email@example.com>'" \
HEAD
警告 :这将改变现有的提交的SHA1,你可能必须强制推动的结果,如果你的提交已经由其他人共享的,可以是有问题的。
vorburger加在注释的例子:
使用Git版本2.20.1,我只好省略“
Signed-off-by
”在--trailer 'sign:
,并做到这一点是这样的:
git filter-branch --msg-filter \
"cat - && echo && git interpret-trailers --trailer 'sign: Michael Vorburger <vorburger@redhat.com>'" \
HEAD
Answer 4:
对我来说,只是ammending signof,并不验证在github上我的提交。
这是对我工作的解决方案是回去,然后登录每次提交与-S
git commit --amend -S
此外,如果你检查,如果你提交实际上是签名,电子邮件/名称根本就没有追加,使用此命令
git show HEAD --show-signature
额外提示:如果您已经修改你的提交,你可能想在他们(参见使用您的真实姓名git log
)。 您可以使用您的GitHub的昵称,这是没有必要的。 只需要正确的电子邮件和用户名的领域,你应该用你的全名和GitHub的将与您的GitHub的昵称正确跟踪它。 因此,要纠正你的用户名和签署最后提交使用:
git commit --amend --author="FULL NAME <email>" -S
并且在未来也将设置全名用户名
git config --global user.name "FULL NAME"
Answer 5:
我有一个类似的问题。 在此,感谢来自的Gentoo Linux罗宾·约翰逊是一招签名添加到我以前所有的unpushed提交:
$ git pull && git rebase --gpg-sign --force-rebase origin/master && git push --signed
Already up-to-date.
Current branch master is up to date, rebase forced.
First, rewinding head to replay your work on top of it...
Applying: sci-biology/KING: new package
Applying: dev-lang/yaggo: version bump, fix install procedure
Applying: sci-libs/htslib: version bump
Applying: sci-biology/bcftools: version bump
Applying: sci-biology/samtools: version bump
Applying: sci-biology/libBigWig: new release with io.h renamed to bigWigIO.h
Applying: sci-biology/MaSuRCA: add more URLs to HOMEPAGE
Applying: sci-biology/SPAdes: update comments on bundled dev-libs/boost
Applying: sci-biology/khmer: added a comment how to proceed with src_compile()
Applying: sci-biology/picard: version bump
Applying: sci-biology/ruffus: pint EGIT_REPO_URI to the archive URL of code.google.com
Applying: sci-biology/vcftools: the 0.1.15_pre release was just renamed to 0.1.15 by upstream
Applying: sci-biology/nanopolish: new package
Applying: sci-biology/libBigWig: version bump
Counting objects: 75, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (75/75), done.
Writing objects: 100% (75/75), 14.51 KiB | 0 bytes/s, done.
Total 75 (delta 55), reused 0 (delta 0)
remote: To github.com:gentoo/sci.git
remote: 29c5e3f5d..b37457700 master -> master
To git+ssh://git.gentoo.org/proj/sci.git
29c5e3f5d..b37457700 master -> master
$
文章来源: Git sign off previous commits?