什么是远程仓库?
远程仓库就是用来共享代码的,例如gitHub、码云等
远程仓库实际开发当中的情况:
1. 公司使用的是 github、码云等这样的 在互联网上的远程仓库
2. 公司使用的是 公司 自己搭建的 服务器
github:
github和git有啥关系?
github中的代码只能通过git来管理!
git操作远程仓库的命令:
1. 从远程仓库去获取代码:
git clone 远程仓库的地址 要在本地保存代码的文件夹的名字(可以省略)
例如:git clone git@github.com:lyhsyq/shop.git 和git clone git@github.com:lyhsyq/shop.git test都可以(test是保存代码的文件夹名称)
2. 把自己的代码放到远程仓库里去:
1. 先在github或者其他的远程仓库工具里创建一个空的项目
2 git push 远程仓库地址 本地分支名:远程分支名
例如:git push git@github.com:lyhsyq/shop.git master:master
如果本地分支名称和远程分支名称相同,也可以简写成:git push git@github.com:lyhsyq/shop.git master
3. 如何把本地修改了的代码 同步(上传)到远程仓库:
git push 远程仓库地址 本地分支名:远程分支名
4. 远程仓库中的内容更新后,如何获取更新了的内容:
git pull 远程仓库地址 远程分支名称
5. 当远程仓库中包含了当前本地仓库没有的更新内容时,给远程仓库推送内容之前,需要先把远程仓库里更新的内容拉去到本地
1. 先 git pull 远程仓库地址 远程分支名称
2. 再 git push 远程仓库地址 本地分支名:远程分支名
在使用远程仓库的时候,比较烦人的问题:
1. 仓库地址的问题 2. 密码的问题
仓库地址问题:
我们可以在git中将当前项目的远程仓库地址保存起来,起一个别名,以后用的时候,直接用别名就行了:
git remote add 别名 远程仓库地址
例如:git remote add login git@github.com:lyhsyq/shop.git
查看所有的别名:
git remote
获取当前别名对应的仓库地址:
git remote get-url 别名
设置当前别名对应的仓库地址:
git remote set-url 别名 url地址
通过git clone获取到的项目中,默认就有一个别名 origin 指向的就是当时clone项目的地址
密码的问题:
如果使用的是https协议,那么每次上传和下载都需要填写用户名和密码,非常麻烦,而如果使用ssh协议就不需要了,也就是免密登录,那么如何实现呢:
其实在申请github账号的时候通常就会配置免密登录功能了,怎么配置呢:
1、在本机生成密钥对:
使用ssh-keygen命令生成密钥对:
ssh-keygen -t rsa
-t表示类型选项,这里采用rsa加密算法
然后根据提示一步步的按enter键即可,执行结束以后会在 c:\用户\你自己的电脑的用户名\.ssh 下生成一个 .ssh 文件夹,其中包含私钥文件 id_rsa 和公钥文件 id_rsa.pub。
2、将公钥复制到远程github中:
在自己的github账号中,点击右上角头像找到Settings选项点击进入,然后在左边找到SSH and GPG keys选项点击进入,然后将上一步生成的公钥文件id_rsa.pub中的内容复制到SSH keys中保存。
设置好之后就可以使用了,然后在上传和下载时使用ssh协议下的远程仓库地址就行了