https://blog.csdn.net/rockvine/article/details/122590041
文章目录
一、添加远程仓库
1.1、创建远程仓库
1.2、关联远程仓库
1.3、配置SSH密钥
1.4、删除远程仓库
二、从远程仓库克隆
2.1、创建远程仓库
2.2、克隆远程仓库
一、添加远程仓库
之前我们仅仅是在本地创建了一个Git本地仓库,这里我们再在GitHub创建一个Git远程仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作开发。
1.1、创建远程仓库
首先登陆GitHub,然后在右上角找到“New repository”按钮,创建一个新的仓库
在Repository name填入项目名称,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库
1.2、关联远程仓库
完成后,现在GitHub上的这个仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后把本地仓库的内容推送到GitHub仓库。
HTTPS和SSH的区别:前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加SSH key ,否则无法克隆。
现在,我们根据GitHub的提示,在本地的learngit仓库下运行命令:
添加后,使用git remote或者git remote -v命令来查看本地仓库关联的远程仓库,可以看到远程库的名字origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
然后GitHub还提示我们进行将本地分支使用git branch -M <branch-name>强制重命名后,再进行推送远程仓库,因为GitHub已经将所有新建的仓库的默认分支名称由master修改为main了,而使用git init初始化的项目默认分支名称是master,所以这里会建议我们进行重命令后再推送。
不过这里不修改也不存在任何问题,通过git push -u origin master方法进行推送的话,GitHub仓库中就会出现一个master的分支
把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
1.3、配置SSH密钥
不过呢,看上述结果提示没有访问权限,这里我们需要生成ssh密钥添加到GitHub帐户中,首先我们需要执行如下命令,生成新密钥
ssh-keygen -t rsa -C "[email protected]"
# -t 指定密钥类型,默认是rsa,可以省略
# -C 设置注释文字,比如邮箱
1
2
3
4
上述执行过程中全部直接按Enter即可,最后在.ssh目录下得到了两个文件:id_rsa(私有密钥)和id_rsa.pub(公有密钥),如上,如果想登陆远程仓库,这里我们需要将rsa.pub里的密钥添加到GitHub中。
首先去.ssh目录下找到id_rsa.pub这个文件夹打开复制全部内容,然后登录GitHub,进入你的Settings
然后会看到左边这些目录,点击“SSH and GPG keys”,再点击创建“New SSH key”,在Key中粘贴之前复制的id_rsa.pub公钥,这里注意复制时最后一行不要额外添加换行
添加完成后,这时我们在执行git push -u origin master命令推送到远程仓库即可成功
1.4、删除远程仓库
如果想删除远程库,可以用git remote rm <name>命令。使用前,建议先用git remote -v查看远程库信息
不过这里的“删除”其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库。远程库本身并没有任何改动。要真正删除远程库,需要登录到GitHub,在后台页面找到删除按钮再删除。
二、从远程仓库克隆
上述我们介绍了先有本地库,后有远程库的时候,然后关联远程仓库。那么还有一种情况,就是我们是先创建远程库,然后需要从远程仓库克隆到本地。
2.1、创建远程仓库
这里和上述一直,还是需要先登陆GitHub,然后在右上角找到“New repository”按钮,创建一个新的仓库
然后在Repository name填入项目名称,这里我们可以勾选下Add a README file,这样GitHub会自动为我们创建一个README.md文件,创建完成后就可以看到该文件
2.2、克隆远程仓库
当远程仓库创建完成之后,接下来就可以用git clone命令在克隆一个本地仓库,由于上述我们已经配置过SSH密钥了,这里就可以直接克隆即可
————————————————
版权声明:本文为CSDN博主「rockvine」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/rockvine/article/details/122590041