远程仓库
远程仓库是git与其他版本控制系统的重要区别之一。
可以找一台电脑充当“服务器”的角色,这样每个人都可以从这个“服务器”仓库clone一份到自己的电脑上,并且把各自的提交推送到服务器仓库;
也可以自己搭建一台运行Git的服务器;
另外,github网站就是提供Git仓库托管服务的,所以只要注册一个Github账号,就可以获得Git远程仓库。
设置本地Git仓库和Github仓库之间传输的SSH加密,参见廖雪峰git教程
注意⚠️:若在设置的过程中出现Key is invalid. You must supply a key in OpenSSH public key format警告,请检查输入SSH密钥的格式。
添加远程库
在本地创建了一个git仓库之后,又想在github中创建一个git仓库,并且让这两个仓库进行远程同步。需要操作的步骤:
1、登录自己的github,然后在网页的右上角找到+号,并点击New repository选项
在Repository name中填写名称,其他可以保持默认设置,点击Create repository按钮,就创建了一个新的git仓库:
此时创建的仓库是空的,而且网页的提示也告诉我们,可以从这个仓库clone新的仓库,也可以把本地的仓库与之关联,这里选择第二者。
2)将本地的learn_git仓库与github仓库关联
在本地learn_git仓库下运行命令:
git remote add origin https://github.com/123banana/learn_git.git
后面的网址根据实际情况修改。
添加后远程库的名称就是origin,然后运行以下命令将本地库的内容推送到远程库上
git push -u origin master
此时,需要输入github的用户名和密码
命令执行完成后,刷新新建的repository页面,页面进行了更新
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
从现在起,只要本地作了提交,就可以通过命令:
git push origin master
把本地master分支的最新修改推送至GitHub。
从远程clone
上面讲过将本地仓库与远程仓库进行关联,并将本地的修改提交推送到远程仓库。我们也可以将远程仓库的内容clone到本地。
下面讲的是先自己创建一个远程仓库,然后clone到本地(也可以将你感兴趣的项目clone到本地):
首先,登录Github,创建一个新的仓库,命名为mygitclone,并勾选initialize this …
此时,Github会自动创建一个README.md文件。
第二步,点击github页面右侧的Clone or download,然后选择Use SSH,复制框内的内容,
bash切换到本地的要将项目放的文件夹目录下,执行以下命令
git clone git@github.com:123banana/mygitclone.git
git clone 命令后面的内容就是从github页面上复制的内容,然后按照提示,输入设置SSH密钥时设置的密码即可将项目clone下来。
查看本地目录,可以看到README.md文件存在
这里使用的是SSH地址,当然也可以使用https地址,只是速度有些慢,而且每次推送或clone都要输入用户名和密码。