赞
踩
之前我们仅仅是在本地创建了一个Git本地仓库,这里我们再在GitHub创建一个Git远程仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作开发。
首先登陆GitHub,然后在右上角找到New repository
按钮,创建一个新的仓库
在Repository name填入项目名称,其他保持默认设置,点击Create repository
按钮,就成功地创建了一个新的Git仓库
完成后,现在GitHub上的这个仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后把本地仓库的内容推送到GitHub仓库。
现在,我们根据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 maste
r方法进行推送的话,GitHub仓库中就会出现一个master的分支
把本地库的内容推送到远程,用git push
命令,实际上是把当前分支master
推送到远程。
由于远程库是空的,我们第一次推送master分支时,加上了-u
参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
不过呢,看上述结果提示没有访问权限,这里我们需要生成ssh密钥添加到GitHub帐户中,首先我们需要执行如下命令,生成新密钥
ssh-keygen -t rsa -C "your_email@example.com"
# -t 指定密钥类型,默认是rsa,可以省略
# -C 设置注释文字,比如邮箱
上述执行过程中全部直接按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
命令推送到远程仓库即可成功
如果想删除远程库,可以用git remote rm <name>
命令。使用前,建议先用git remote -v
查看远程库信息
不过这里的“删除”其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库。远程库本身并没有任何改动。要真正删除远程库,需要登录到GitHub,在后台页面找到删除按钮再删除。
上述我们介绍了先有本地库,后有远程库的时候,然后关联远程仓库。那么还有一种情况,就是我们是先创建远程库,然后需要从远程仓库克隆到本地。
这里和上述一直,还是需要先登陆GitHub,然后在右上角找到New repository
按钮,创建一个新的仓库
然后在Repository name
填入项目名称,这里我们可以勾选下Add a README file
,这样GitHub会自动为我们创建一个README.md
文件,创建完成后就可以看到该文件
当远程仓库创建完成之后,接下来就可以用git clone
命令在克隆一个本地仓库,由于上述我们已经配置过SSH密钥了,这里就可以直接克隆即可
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。