github 升级,小技巧,后知后觉

背景
github 不支持 rest 的形式,操作仓库,
( 即账户 + 密码,操作, 不行了 )
github 的仓库操作,支持基于 token 认证的操作
( token-based authentication )
本文写的是,通过 ssh 操作 github 上的 git repo 细节 GitHub 支持 ssh 部署的粒度全面,

  • 可以基于用户,对所有的仓库统一部署
github 升级,小技巧,后知后觉
文章图片

  • 可以基于仓库部署
github 升级,小技巧,后知后觉
文章图片

那么一个用户创建了多个组织,
每个组织,只有该用户一个人,
怎样统一部署呢?
笔者暂未研究有成,本文接着描述,ssh 分仓库部署
解决,就是通过本地的 ssh 配置文件
~/.ssh/config
修改配置文件 一般我们的配置文件,长这样
Host *// 通用 AddKeysToAgent yes// 添加密钥 UseKeychain yes// 使用持久化 IdentityFile ~/.ssh/id_ed25519//文件路径,默认加密方式命名

现在一个 repo, 对应一个 host
添加了,两项配置
Host github1// 主机 HostName github.com//服务器名 User git//用户 AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_a// 一个仓库,一个私钥 Host github2 HostName github.com User git AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_repo2

修改本地 git 仓库的远程路径 remote url 结果为
git remote -v

origin github1:AgesX/_off_screen_render.git (fetch)
把对应的公钥,粘贴到 github repo 里面 【github 升级,小技巧,后知后觉】github 升级,小技巧,后知后觉
文章图片

记得勾选,允许写入
以上为,流程的主要环节
下面进入凑字数
cd 一个文件夹,不方便 开发几年后,老眼昏花,
不能准确的拖动一个指定的文件夹
我开发出了, cdc 进入文件夹中,cdc 配合随意拖拽一个子文件到终端
就等于准确,找到想要的文件夹
cd_current(){ cd "$(dirname "$1")" && pwd }alias 'cdc'='cd_current'

查看 git 仓库,基于文件的日志 可以考虑 gitlf
git log file
gitlf_file(){ git log --follow -p -- "$1" } alias gitlf="gitlf_file"


  • 创建密钥
ssh-keygen -t ed25519 -C "dengjiangzhouReal@gmail.com"

  • 提交
git remote set-url origin Mm:AgesX/gcd_

github 文章
生成新 SSH 密钥并添加到 ssh-agent
命令:
ssh-add -K ~/.ssh/id_a
所有的私钥,都要来一遍

    推荐阅读