head.png

起因

由于sublime-CoolFormat作者对其他衍生语言(e.g:Json(sublime),C improved)等的文件删除bug
见issue(#12,#4),我查看了源代码并进行了稍许修改

经过

为了作者可以看到并修改我的意见,我决定使用pull requests 提交实际上是想要有贡献=。=,而最近又研究了GnuPG的密钥,GitHub又支持PGP密钥,为了commit的"小绿锁"我使用了PGP密钥
由于我校新机房由于特殊原因高考资料停用,我们只得使用旧机房---WindowsXP系统emmm......
于是,我使用的gpg4win是v2.3.4版的,gpg v2.0.30 T^T,git v2.10.0-32-bit

git 配置

git config --global user.name <username of github>
git config --global user.email <email of github>
git config --global commit.gpgsign true

实际上username of github和可以随便,但要上传到Github上,so,使用username of github

gpg4win安装注意事项

不要装在%PROGARMFILES%等路径中有空格和中文的地方!!!
ps:WinXP要无空格,Win10实测不用

生成PGP密钥(对bash窗口过敏者慎用)

题外话:gpg汉化只要将...\GNU\GnuPG\share\locale\zh_CN 改成 zh就OK了
rename.png

gpg --gen-key

answer.png
然后输入密码,之后疯狂移动鼠标,效果如下:
result.png
然后就可以

gpg [--keyserver <keyserver>] --send-key <username>

上传到公钥服务器上了
国内可用公钥服务器:

pgp.mit.edu(卡...)
keys.gnupg.net
subkeys.pgp.net
pool.sks-keyservers.net
zimmermann.mayfirst.org
keyserver.ubuntu.com

Attention!

  • 请记好你的密码,使用如下命令导出公钥和私钥:
公钥:gpg -a --export <username> -o <filename of publickey>
私钥:gpg -a --export-secret-key <username> -o <filename of secretkey>
  • 请生成一份吊销证书防止私钥丢失,公钥服务器上的公钥没法删除亲身经历...但我拿DiskGenius强找内存找回了...
    testuserrevoke.png
gpg --gen-revoke <username>
  • 真实姓名和email应该和Github的username和email一致??

配置signingkey和gpg.program

git config --global user.signingkey <刚才生成的Keyid>
git config --global gpg.program <gpg.exe所在目录>

e.g:git config --global user.signingkey B18FDAD9
B18FDAD9是刚才testuser的keyid
也可以用subid:B2D7335D
也可以使用

gpg -k [--keyid-format long]

如使用--keyid-format long就是gpg keyid的16bit长格式:BC9378DFB18FDAD9
也就是Keyid可以使用B18FDAD9,B2D7335D和BC9378DFB18FDAD9

gpg.exe所在目录 再强调一次不能有空格(WinXP),我使用的目录是在C:\GnuPG\pub\gpg.exe

开始gpg提交

fork 库至Github的自己的库上

点一下 OK
fork.png

git clone至本地

git clone https://github.com/<git hub 用户名>/<库名>.git

git checkout -b

git checkout -b <newbarch>

建新分支

进行修改

省略1000字...

git add 修改文件

你要是懒也可以

git add .

git commit

应该要求你输入密码了...

git push

git push

去到github上的你的库

应该有了newbarch分支

pull requests

pull.png
ps: git 配置代理:

git config --global http.proxy socks5://127.0.0.1:1080 
git config --global https.proxy socks5://127.0.0.1:1080

记住Git push的密码

git config --global credential.helper store
最后修改:2022 年 10 月 14 日
如果觉得我的文章对你有用,请随意赞赏