1、常用的远程仓库
Git中存在两种类型的仓库,即本地仓库和远程仓库。
那么我们如何搭建Git远程仓库呢?我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。
- Github:是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名gitHub。地址: GitHub: Where the world builds software · GitHub
- 码云:是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快 。地址: 我的工作台 - Gitee.com
- GitLab:是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务,一般用于在企业、学校等内部网络搭建git私服。 地址: about.gitlab.com
这篇博客就以码云为例,为什么不用GitHub,因为慢,码云在国内快,而且它们的使用方式大同小异。
2、码云
要想使用码云的相关服务,需要注册账号(地址: 注册 - Gitee.com )
注册好之后就可以创建远程仓库了。
2.1 创建远程仓库
仓库创建完成后可以看到仓库地址,如下图所示:
这里我们选择使用SSH的方式,所以接下来去配置公钥。
2.2 配置SSH公钥
生成公钥命令:
ssh-keygen -t rsa
输入后,不断回车,如果公钥已经存在,则会自动覆盖。
获取公钥命令:
cat ~/.ssh/id_rsa.pub
然后我们到码云去配置SSH公钥。
验证是否配置成功。
ssh -T git@gitee.com
3、操作远程仓库
3.1 添加远程仓库
命令: git remote add <远端名称> <仓库路径>
- 远端名称,默认是origin,取决于远端服务器设置
- 仓库路径,从远端服务器获取此URL
添加之后,查看一下:
git remote
3.2 推送到远程仓库
注:记得先将本地文件添加到本地仓库
命令:git push [-f] [--set-upstream] [远端名称 [本地分支名] :[远端分支名]]
git push origin master
如果远程分支名和本地分支名称相同,则可以只写本地分支
注:
- -f : 表示强制覆盖.
- --set-upstream : 推送到远端的同时并且建立起和远端分支的关联关系。
- 如果**当前分支已经和远端分支关联**,则可以省略分支名和远端名,git push 将master分支推送到已关联的远端分支。
git push --set-upstream origin master
推送成功后,就可以查看远程仓库有没有上传成功了。
3.3 从远程仓库克隆
如果已经有一个远端仓库,我们可以直接clone到本地。
git clone <仓库路径> [本地目录]
本地目录可以省略,会自动生成一个目录
3.4 从远程仓库中抓取和拉取
远程分支和本地的分支一样,我们可以进行merge操作,只是需要先把远端仓库里的更新都下载到本地,再进行操作。
1、抓取命令:git fetch [远端名称] [分支名称]
git fetch origin master
- 抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
- 如果不指定远端名称和分支名,则抓取所有分支。
2、拉取命令:git pull [远端名称] [分支名称]
git pull origin master
- 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
- 如果不指定远端名称和分支名,则抓取所有并更新当前分支.
4、在IDEA中使用Git
安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。选择File→Settings打开设置窗口,找到Version Control下的git选项:
4.1 开始操作
现在我有一个项目,现在给大家演示如何用IDEA将其上传到远程仓库。首先去码云创建一个远程仓库,这里就不演示了。
注:IDEA的版本不同,操作可能也会不同。
4.2 、初始化本地仓库
4.3 提交到本地仓库:
4.4 推送到远程仓库
4.5 拉取项目
4.6 克隆项目
然后点击Clone就行了。
4.7 分支操作
好了,掌握以上操作,基本能应付工作中会遇到的事情了。
提交代码之前记得先拉取一下代码。