git本地与远端仓库关联

1.场景:

最近想自己搞点小project,放在github上。但是之前是在刚来工作时(gsx)搞的git环境,后来再也没有研究过,不知道怎么建立一个本地到远端关联的仓库,没法进行基于github的开发。所以看了几篇博客,大体了解了git本地与远端关联。可以在本地开发并push到远端了。这里说的“本地git仓库和远端仓库关联”、“本地与远端的通信”指的是本地开发时git pull从远端拉代码、git push向远端推代码等操作。


2.原理:

git本地仓库和远端仓库进行通信的要素有两个:SSH key和email、username、密码。比如git 的 push pull等操作,都会从本地当前仓库先进行rsa加密,然后发送带有用户名、邮箱、密码的加密数据到远端,远端会对数据进行解密并根据命令(pull、push、等等)进行相应的处理。这个通信是SSH通信。本地会保存一个私钥,远端保存一个公钥。所以想要进行git仓库本地与远端的通信,需要SSH的私钥和公钥。公钥和私钥是使用git相关命令生成的,保存在本地。生成的私钥不用管,公钥要复制到远端,这样git与远端通信时,才能对数据进行正确解密。

因此,每个git仓库只要配置好SSH key和email、username、密码,并且远端要保存有本地的SSH key私钥,远端git仓库还要配置对应的email、username、密码,这样,就可以进行正常通信了。即可以执行git命令从远端pull代码或push代码了。


3.步骤:

首先,在远端配置邮箱和用户名,密码

然后,进入自己项目的文件夹,执行git init生成git仓库,

然后,执行 ssh-keygen -t rsa -C "xxxx@xxxx.com"生成SSH key ,生成的SSH key包括公钥和私钥。(mac执行 vi ~/.ssh id_rsa.pub查看SSH key公钥)

然后,将公钥配置到远端

然后,执行 git remote add origin [git 仓库地址]。带下划线的部分替换成远端仓库地址。

这样就可以可以进行基于github的开发了。

如果执行git clone 克隆远端代码,则在克隆得到的仓库中,包含着用户名密码邮箱信息,所以可以直接进行本地与远端的通信。


4.说明:

每个git仓库可以关联一个远端仓库【好像可以关联多个远端仓库,暂时没有深入研究】。只要在本地和远端相应配置好SSH key、用户名密码邮箱就可以了。假设我本地有多个git仓库,关联到不同的远端git仓库。但是可以使用一个SSH key的,因为这个SSH key是git生成的,不是和一个特定的git仓库绑定的。只要把公钥配置到远端仓库就可以了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值