git协议实现管理(三个步骤)

GitHub官网访问:

https://github.com/dashboard

初次使用git的用户要使用git协议大概需要三个步骤:

一、生成密钥对

二、设置远程仓库(本文以github为例)上的公钥

三、把git的remote url远程仓库URL可访问路径修改为git协议(以上两个步骤初次设置过以后,以后使用都不需要再次设置,此步骤视以后项目的remote url而定,如果以后其他项目的协议为https则需要此步骤)

一、生成密钥对

大多数Git服务器都会选择使用SSH公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成1个,生成公钥的过程在所有操作系统上都差不多。首先你要确认一下本机是否已经有个公钥

SSH公钥默认储存在账户的主目录下的~/.ssh目录(/Users/haijunyan/.ssh)

cd ~/.ssh //cd /Users/haijunyan/.ssh(若相对路径失效则采用绝对路径)

ls

查看有没有id_rsa和id_rsa.pub(或id_dsa和id_dsa.pub类成对的文件),有.pub后缀的文件是公钥,另一个文件则是密钥。

假如没有这些文件,甚至连ssh目录文件夹都没有用

ssh-keygen -t rsa -C "15261882407@163.com"

来创建(该程序在Linux/Mac系统上由SSH包提供,而在Windows上则包含在MSysGit包里:

直接按Enter就行。然后,会提示你输入密码,如下(建议输一个,安全一点,当然不输也行,应该不会有人闲的无聊冒充你去修改你的代码))。

完了之后,大概是这样

Your identification has been saved in /Users/haijunyan/.ssh/id_rsa

Your public key has been saved in /Users/haijunyan/.ssh/id_rsa.pub到此本地密钥对生成。

二、添加公钥到你的远程仓库(github)

1.查看你生成的公钥:

cat ~/.ssh/id_rsa.pub

ssh-rsa

AAAB3NzaC1yc2EAAAADAQABAAABAQCOX6L1zLL4VHuvGb8aJH3ippTozmReSUzgntvk434aJ/v7kodJ/MTyB1WXFCR+HAo3FXRitBqxiX1nKhXpHAZSMciLq8vR3c8E7CJZN733f5AL8uEYJA+YZevYSUCvEg+umT7PHghKYaʃ16waCxV7sjYP7Z6V790MCEAGDNXC26IBMdMgOluQjp606j2KAdtRBdCDS/QIU5THQDxJ91BXjk1fiq9tITo/aXBvjZeD+gH/Apkh/0GbO8VQLiYYmNfqqAHHeXdltORn8N7C910a/UW3KM7QdXo6J0GF1BVQeTE/IGqhMS5PMln3adninRadnin-PC

2、登陆github网站帐户,点击头像,然后Settings->左栏点击SSH and

GPG keys ->点击New SSH key

3、然后cmd+all复制上面公钥内容,粘贴进"Key"文本域内,title域自己随便起个名字。

4、点击Add key。

完成以后,验证下这个key是不是正常工作:

ssh -T git@github.com

Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.

恭喜设置已经成功了。

三、文件config配置

添加私钥至本地Chain/SourceTree

执行

ssh-add ~/.ssh/id_rsa

将sshkey私钥添加到sourceTrees(若~/.ssh/id_rsa: No such file or directory相对路径失效则采用绝对路径)

ssh-add /Users/haijunyan/.ssh/id_rsa

执行

ssh-add -K ~/.ssh/id_rsa

将sshkey私钥添加到钥匙串

ssh-add -K /Users/haijunyan/.ssh/id_rsa

cd到ssh目录下

touch config

命令创建config文件

执行open config打开config文件输入以下内容并保存

Host *

UseKeychain yes

AddKeysToAgent yes

IdentityFile ~/.ssh/id_rsa

四、 known_ hosts文件:

中转指向ServerNodeNameUnknown服务器加入白名单列表内服务端初次链接优先通过终端触发激活

//备注:曾经通过HTTP协议已下载的本地映射库需要切换路径渠道http>ssh

五、

方案一(推荐:本地删除重新ssh导出映射库):

1.本地删除旧映射库

2.登录GitHub官网找到目标库对应的ssh渠道路径

eg:git@github.com:haijun-suyan/TeamGroupSimulation.git

3.sourcetree > 从URL克隆

方案二(不推荐):

修改git管理的remote url远程访问路径

git remote -v //查看当前项目的remote url访问路径(格式)

origin https://github.com/someaccount/someproject.git (fetch)

origin https://github.com/someaccount/someproject.git(push)

以上结果说明项目当前是使用https协议进行访问(git@开头则表示git协议)则登陆github网站在上面可以看到ssh协议相应的url路径后使用命令

git remote set-url来调整url访问路径

git remote set-url origin git@github.com:someaccount/somproject.git

再用命令

git remote -v

查看url访问路径是否已经变成了ssh地址路径

愉快使用git fetch,git pull,git push

备注:

cd /Users/haijunyan/.ssh/

pwd

ls

ssh-keygen -t rsa -C "15261882407@163.com"

ssh-add /Users/haijunyan/.ssh/id_rsa

ssh-add -K /Users/haijunyan/.ssh/id_rsa

ssh -T git@github.com

cd /Users/haijunyan/Desktop/CustomKit/TeamGroupSimulation

git remote -v

备份:

相关推荐
裸奔的大金毛5 小时前
Tekton - 自定义镜像配置git仓库克隆
git·ci/cd·devops·tekton
Adorable老犀牛9 小时前
可遇不可求的自动化运维工具 | 2 | 实施阶段一:基础准备
运维·git·vscode·python·node.js·自动化
xiaok10 小时前
把代码上传到gitee的时候,怎么忽略node_modules文件夹
git·gitlab·github
唐叔在学习10 小时前
听说有老哥分不清Git branch和tag?这不看看嘛
git·后端
雁于飞20 小时前
vscode中使用git、githup的基操
笔记·git·vscode·学习·elasticsearch·gitee·github
小毛驴8501 天前
所有微服务部署都使用一个git地址,并且通过docker部署各个服务的情况下,如何编写mvn指令来处理各个服务。
git·docker·微服务
国王不在家1 天前
git 切换仓库后清理分支缓存
git
柯南二号1 天前
【Gitlab】Ubuntu 20.04服务器部署Gitlab
git·gitlab
phac1231 天前
git 如何直接拉去远程仓库的内容且忽略本地与远端不一致的commit
大数据·git·elasticsearch
ficker132 天前
git常用命令
git