简介
集中式版本控制工具:版本库集中存放在中央服务器,必须联网才能工作,个人将代码下载下来修改后再提交到中央版本库。例:svn
分布式版本控制工具:
没有中央服务器,无须联网,每台主机都相当于一个完整的版本库。自己修改完后只需上传修改即可。例:git
工作流程
clone:从远程仓库中克隆代码到本地仓库
checkout:从本地仓库中检出一个仓库分支然后进行修订
add:在提交前先将代码提交到暂存区
commit:提交到本地仓库,本地仓库中保存各个历史版本
fetch:从远程库,抓取到本地仓库
pull:从远程库拉到本地库,自动进行合并(merge),然后放到工作区,相当于fetch+merge
push:修改完成后,需要和团队共享代码时,将代码推送到远程仓库
常用指令
配置
- ll/ls 查看当前目录
- cat 查看文件内容
- vi vi编辑器,esc后输入wq退出
- touch <文件名> 创建文件
设置用户名和邮箱
git config --global user.name “用户名”
git config --global user.email “邮箱”
基本操作
- git init
- git-log
- git add <文件名/.>
- git commit -m ‘注释’
- git merge <分支名>
- git status
- git reset --hard commitID
- git reflog
分支类
git branch
git branch <分支名>
git checkout <分支名>
git checkout -b <分支名>
git merge <分支名>
git branch -d <分支名>
git branch -D <分支名>
远程操作
git clone <远程地址> [本地文件夹]
git pull
git push
git remote
基本操作解释
- 初始化仓库
- 查看日志
- 添加到暂存区(工作区->暂存区)(.表示将所有修改存进去)
- 提交到仓库(暂存区->本地仓库)
- 合并指定分支到当前活跃分支
- 查看修改状态
- 版本切换,commitID可以用git-log或git log查看
- 查看已经删除的记录
分支切换类解释
- 查看分支
- 创建本地分支
- 切换分支
- 创建并切换到某个分支
- 合并分支
- 做检查后删除
- 强制删除
远程操作解释
- clone远程仓库到本地
- 拉取远端仓库的修改并合并
- 推送本地修改到远端分支(–set-upstream表示和远端分支绑定关联关系,只有第一次推送时才需要此参数)
- 查看远程仓库
开发中分支使用原则与流程
-
master分支
主分支,线上分支 -
develop分支
从master创建的分支,开发分支 -
feature分支
从develop创建的分支,一般是同期并行开发,分支上的研发任务完成后合并到develop分支 -
hotfix分支
一般作为线上bug修复使用