千里不留行 发布的文章

git cherry-pick命令格式:ast

  ​​​​​git cherry-pick [--edit] [-n] [-m parent-number] [-s] [-x] [--ff] [-S[<keyid>]] <commit>…​bug

  git cherry-pick --continuedi

  git cherry-pick --quit文件

  git cherry-pick --abortco

 命令解读:参数

 <commit>…:

          须要合并的已发生的提交记录,多个用空格隔开,例如:git cherry-pick c1 c2 c3 c4;

 --edit:

         在合并前,git会要求你先填备注,就是每次提交前要填的提交备注;

 -n:

         默认状况下,cherry-pick命令执行成功后会自动提交合并的代码到本地仓库。若是使用该参数,cherry-pick执行成功后不会自动提交代码。当要合并多个提交记录的场景下,该参数特别有用处。例如:git cherry-pick -n c1 c2 c3 c4;

 -m: parent-number

        默认状况只会合并当前提交记录(例如c1)的代码,若是想要合并该次合并代码的父提交记录,则须要指定parent-number,例如:git cherry-pick -m c1  c2,意思就是合并c2,而且合并c2上一次提交的代码c1。这样就会将c1提交的文件也合并到当前分支;


git cherry-pick --continue

     用于在cherry-pick失败或者revert(回退)失败,处理完冲突后继续执行;

git cherry-pick --quit

    忽略当前正在执行的cherry-pick操做。在cherry-pick失败或者revert(回退)失败后,能够用来清除sequencer(序列器)的当前状态;

git cherry-pick --abort

   取消操做而且返回上一个sequencer的状态

二、转移多个连续提交

git cherry-pick A..B

上面的命令可以转移从 A 到 B 的所有提交。它们必须按照正确的顺序放置:提交 A 必须早于提交 B,否则命令将失败,但不会报错。

注意,使用上面的命令,提交 A 将不会包含在 Cherry pick 中。如果要包含提交 A,可以使用下面的语法。

git cherry-pick A^..B 

443端口不知道是电信不想封还是怎么样,一直无需备案就能开启对外服务。而443端口就必须使用合法的 SSL 证书,合法的 SSL 证书很多,我一直在使用 letsencrypt 提供的SSL证书服务。但是 letsencrypt 的证书只有90天的有效期,必须在有效期内 renew,否则过期了只好重新申请了。申请 letsencrypt 证书网上一堆都是需要开放 80 端口才能申请,其实 CertBot 在以前就是支持 https 的方式申请证书。但是不知道什么原因放弃了. 现在另外一方法是用dns申请和更新. 我的域名是挂在dnspod下面的, 需要用到dnspod的接口去更新txt记录才能正常的更新证书.

- 阅读剩余部分 -