Idea2018中使用git
1.Git简述
数据是短暂的,且容易丢失,一次错误性的代码变更或一次灾难性的磁盘崩溃,都是导致数据丢失。所以,在整个工作过程中,持续性的备份和存档是非常明智的。
对于文本和代码项目,备份策略通常包括版本控制,或者叫“对变更进行追踪管理”。每个程序员每天都会进行若干变更,这些持续性的变更,加载一起构成“版本库”。团队沟通和产品管理中,版本控制是最高效的组织管理方式。
1.1 Git的诞生
当前VCS的缺陷:
a.有助于分布式开发 允许并行开发,各人可以在自己的版本库中独立且同时地开发,不需要与一个中心版本库同步。必须允许许多开发人员在不同的地方,甚至是离线的情况下,无障碍开发。
b.能够胜任上千开发人员的规模 新的VCS必须支持非常多的人员,无论这些人员是在整个项目相同还是不同的部分,新VCS必须能够可靠的整合。
c.保持完整性和可靠性 因为git是一个分布式版本控制系统,非常需要能够绝对保证数据的完整性和不会被意外篡改。 d. 支持并鼓励基于分支的开发
1.2 分布式和集中式
集中式版本控制系统:
版本库都集中存放在*服务器上,团队成员在个人计算机上进行代码开发工作,没完成一个模块,就需要上传到*服务器上。若团队成员需要修改某个模块代码,就需要先从服务器上检出最新的代码,进行相应的修改,然后在进行上传提交操作。整个流程有个一必要条件:必须处于联网状态才可以正常工作。
分布式版本控制系统:
系统中没有“*服务器”的概念,团队的每个人的计算机都是一个完整的版本库,完全可以离线工作。如果多个人同时修改同一个文件,只需把各自的修改推送给对方,就可以相互看到对方修改。
1.3 Git远程仓库
Git仓库分为本地仓库和远程仓库,远程仓库又分为局域网仓库和互联网仓库。局域网仓库可使用GitLab自己搭建,互联网仓库可使用GitHub或者Gitee。
2.Git的使用
2.1 Git本地结构
工作区 ==》 暂存区 ==》本地库
工作区:代码编辑区域
暂存区:git add命令后所在区域
本地库:本地Git仓库,git commit后所在区域
代码提交至本地库后,可通过push命令推送至远程库(github、gitee、gitLab)
2.2 Git常用命令
1)创建仓库:
git init:初始化仓库,把目录变为一个可以被Git管理的仓库,并生成 .git 文件夹
2) 提交至仓库:
①:git add:可多次使用,把文件添加至git仓库
②:git commit -m "" :把文件添加至git仓库,第二步;-m "":为每次提交添加备 注信息
3)仓库状态:
git status:查看本地库状态,是否有为提交的代码
git diff:查看工作区与本地库代码有何不同
4)版本回退:
git log:查看历史版本,仅限当前以及之前的版本
git reflog:查看所有历史版本,包括版本回退后的版本
git reset --hard version_id:回退或前进到指定id的版本
5)创建分支:
git checkout -b xx:创建并切换分支(①:git branch xx ,创建分支 ②:git checkout xx,切换到指定分支 )
6)合并分支:
①:git checkout/switch master(master,主分支)
②:git merge dev(dev,需要被合并的分支)
7)删除分支:
git branch -d dev
2.3 远程仓库的配置
本地仓库与远程github仓库连接时,需要设置SSH秘钥,这样可以避免被人冒充而访问自己的远程仓库。
1)生成公钥与私钥(id_rsa和id_rsa.pub)
ssh-****** -t rsa -C "[email protected]"
2)将公钥内容粘贴至GitHub --> Account settings --> SSH Keys --> add Key
SSH配置后,可以将本地仓库与远程库相关联
①:git remote add xx,关联远程库(xx为远程库地址)
②:git push , 将本地库代码推送至远程库,亦可以使用git clone xx克隆远程库
3.IDEA中使用Git
3.1 创建项目并上传至本地库
1)创建一个本地库,将工作区项目变为一个git本库仓库,生成.git仓库
2)将项目上传至本地仓库
3.2 将本地库push至远程仓库
1)push本地仓库至远程仓库
2)更新远程仓库代码到本地
3.3 克隆远程仓库
1)chekout form Version Controll --> Git
2)填写远程地址
3.4 分支管理
1)创建分支
New Branch:创建分支
Local Branch:本地分支,可做切换分支使用
Local Branch:远程分支
2)合并分支