目录
一、版本控制
1、概述
1.1、开发中实际场景
场景1:备份
场景2:代码还原
场景3:协同开发
场景4:追溯问题代码的编写人和编写时间
1.2、版本控制器的方式
集中式版本控制工具:SVN和CVS
分布式版本控制工具:Git
1.3、Git工作流程
2、Git常用命令
ls/ll 查看当前目录
cat 查看文件内容
touch 创建文件
vi vi编辑器
3、获取本地仓库
要使用Git对代码进行版本控制,首先需要获得本地仓库
1)创建一个空目录作为我们的本地仓库
2)进入这个目录,点击右键打开Git Bash窗口
3)执行命令 git init
4)如果创建成功后可以在文件夹下看到隐藏的.git目录
4、基础操作指令
git add . (工作区 --> 暂存区)
git commit -m "注释" (暂存区 --> 仓库)
git status 查看状态(工作区、暂存区)
git log 【option】 查看提交日志
options:
--all 显示所有分支
--pretty=online 将提交信息显示为一行
--abbrev-commit 使得输出的commitld更简短
--graph 以图的形式显示
别名:alias git-log=‘git log --pretty=online --all --graph --abbrev-commit’
git reset --hard commitID 版本回退
5、分支
几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的Bug修改、开发新功能,以免影响开发主线
git branch 查看分支
git branch 分支名 创建分支
git checkout -b 分支名 切换分支
git merge 分支名 合并分支
(如果把dev01合并到master上,先进入master,然后在git merge dev01,就可以将dev01合并到master中)
5.1解决冲突
当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决冲突步骤如下:
1、处理文件中冲突的地方(修改成需要的)
2、将解决完冲突的文件加入暂存区
3、提交到仓库
5.2开发中分支使用原则与流程
master(生产)分支
develop(开发)分支
从master创建的分支,一般作为开发部门的主要开发分支。
feature/xxxx分支
从develop创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完成后合并到develop分支。
hotfix/xxxx分支
从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、develop分支。
命令总结:
6、Git远程仓库
创建远程仓库,在gitee(码云)上, 配置SSH公钥:
ssh-keygen -t rsa 一直回车
查看公钥:cat ~/.ssh/id_rsa.pub
复制公钥,在gitee上设置SSH公钥,将复制的密钥粘贴上。
git remote add origin(名,常用) 远程仓库地址 添加远程仓库
git remote 查看远程仓库
git push origin master:master(本地master绑定远端master)
git push --set-upstream origin master (第一次推送到远端的时候加--set-upstream,建立起与远端分支的关联关系,以后推送可以省略分支名和远端名,直接用git push)
7、clone
git clone <仓库路径>【本地目录】
7.1、从远程从仓库中抓取和拉取
抓取命令:git fetch 【remote name】【branch name】:抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
拉取命令:git pull 【remote name】【branch name】:拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
8、在Idea中使用 Git
8.1、在Idea中配置Git
在Idea中File→Setting打开设置窗口,搜Git,把Git路径设置上去(一定点一下test)
8.2、在Idea中使用Git
附:IDEA集成Git Bash 作为Terminal