welcome to xlongwei.com

欢迎大家一起学习、交流、分享


QQ群:162333776 邮箱:admin@xlongwei.com

git多仓库和多私钥支持


分类 Linux   关键字 分享   标签 linux   git   发布 hongwei  1530932177760
注意 转载须保留原文链接,译文链接,作者译者等信息。  
git多仓库支持是指同时推送到多个远程仓库,对于有私有git仓库并想同时推送至gitee和github来说非常方便。git多私钥支持是指git bash支持切换私钥git_rsa,对于有公司git仓库和个人开源仓库分开管理私钥非常方便。

生成私钥,使用-C参数指定注释,指定私钥密码,会生成key、pub文件,再用puttygen导出ppk文件。
# ssh-keygen -C git@gitee.com  #注释可用于提示密钥用途,同时建议给密钥加上密码

git bash加载私钥
# eval $(ssh-agent -s)
不同的shell窗口加载不同的私钥,需要提前在远程仓库添加私钥push权限
# ssh-add ~/.ssh/github_rsa
测试输出包含Authentication succeeded (publickey)表示认证成功
# ssh -i ~/.ssh/id_rsa_git -vT git@github.com

配置~/.ssh/config、~/.profile
# vi ~/.ssh/config
Host gitee
     HostName gitee.com
     User gituser
     IdentityFile ~/.ssh/xlongweigitkey
Host github
     HostName github.com
     User gituser
     IdentityFile ~/.ssh/xlongweigitkey

# vi ~/.profile
keyson(){
    eval $(ssh-agent -s)
    ssh-add ~/.ssh/xlongweigitkey  #依次加载多个私钥,必要时会提示输入密码
}
keysoff(){
    kill `ps -ef|grep ssh-agent|awk '{print $2}'`
}
# keyson

当前项目添加remote仓库,通常新建github仓库时可以从其他仓库clone
# git remote add icron git@github.com:icron/ifast.git
# git pull icron master       #合并主分支(无push权限)
# git push                    #推送到origin
# git push origin dev:dev     #推送分支dev到origin
# git push -u origin          #强推当前内容到github
# git push origin :dev        #删除远程分支dev
# git remote -v               #列出所有仓库
# git branch -av              #列出所有分支

配置.git/config
# vi .git/config
[remote "origin"]
        url = git@gitee.com:xlongwei/ifast.git
        url = git@github.com:xlongwei/ifast.git  #复制origin下面的url行,添加github仓库地址,git push时会自动推送到多个git仓库
        fetch = +refs/heads/*:refs/remotes/origin/*
# git push     #自动推送到多个url地址
# git push origin :dev        #删除远程分支dev,多个git仓库同时推送时会删除多个仓库的远程分支

评论列表
  • #0 hongwei 1533090640931

    git config --global credential.helper store