3、Git远程仓库
3.1 常用的托管服务
gitHub( 地址:https://github.com/ )是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名gitHub。
码云(地址: https://gitee.com/ )是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快。
GitLab (地址: https://about.gitlab.com/ )是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务,一般用于在企业、学校等内部网络搭建git私服。
3.2 配置SSH公钥(可选)
https上传文件需要输入账号密码,SSH上传文件需要添加公钥。
生成SSH公钥
- ssh-keygen
- 不断回车
- 如果公钥已经存在,则自动覆盖
Gitee设置账户共公钥
- 获取公钥,添加至gitee
- cat ~/.ssh/id_rsa.pub
- 验证是否配置成功
- ssh -T git@gitee.com
- 获取公钥,添加至gitee
3.3 操作远程仓库
1.添加远程仓库
此操作是先初始化本地库,然后与已创建的远程库进行对接。
bash
git remote add <远端名称> <仓库路径>
#远端仓库别名,默认是origin
#仓库路径,从远端服务器获取此URL
git remote add origin git@gitee.com:xiaoyage/h3c-command.git
2.查看远程仓库
bash
git remote
git remote -v
3.删除远程仓库
bash
git remote remove origin
4.推送到远程仓库
bash
git push [-f] [--set-upstream] [远端名称 [本地分支名]:[远端分支名]]
-f 表示强制覆盖
--set-upstream #简写-u,推送到远端的同时并且建立起和远端分支的关联关系。
git push -u origin master #如果远程分支名和本地分支名称相同,则可以只写本地分支
git push #建立通道后以后可以简写git push
5.查看本地分支与远程分支关联关系
bash
git branch -vv
6.从远程仓库克隆
自动Git本地仓库建立好和远程仓库的链接
bash
git clone <仓库路径> [本地目录] #本地目录可以省略,会自动生成一个目录
7.从远程仓库中抓取和拉取
抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
如果不指定远端名称和分支名,则抓取所有分支。
bash
git fetch [remote name] [branch name]
git pull [remote name] [branch name]
git pull --rebase [remote name] [branch name] #合并没有关系的记录
拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
如果不指定远端名称和分支名,则抓取所有并更新当前分支。