git
概述: git是一个版本管理工具,用于管理项目的版本,它是一个分布式的项目管理工具,每个本地的代码都是本地的一个仓库,然后提交到远程仓库,git是一个多分支的版本管理工具,svn也是一个版本管理工具,是集中式的项目管理工具(单分支 客户端服务端上传)
dos命令操作(windows的相关命令行 cmd打开)
cd 进入文件夹
mkdir创建文件夹
ipconfig查看网络配置
cls 清楚所有内容
linux命令操作
cd 进入文件
ls 查看文件
ll 查看所有文件以列表形式
clear 清除所有的内容
shutdown 关机
reboot 重启
mkdir 创建文件夹
tar 解压
git bash here打开的命令窗口是一个linux命令窗口
创建本地仓库(创建的git目录是一个隐藏文件)
git init 初始化本地仓库
git的分区
git仓库分区,分为三个区
工作区:工作代码
暂存区:暂存代码 通过状态可以查看暂存的内容 可以更改
历史区 :(版本库)通过日志可以查看提交记录 最终记录存在历史区 历史区不能更改
分区相关操作
从工作区到暂存区
git add文件名 添加文件到暂存区
git add文件夹名 添加文件夹里面的所有文件到暂存区
git add . 添加所有的文件到暂存区
git add * 添加所有的文件到暂存区
git add --all 添加所有都的文件到暂存区
查看状态 git status
从暂存区撤回(不会影响工作区)
git reset HEAD -- 文件名
git reset HEAD --文件夹
git reset HEAD -- 。 撤回所有
git reset HEAD -- * 撤回所有
从暂存区到历史区
git commit 文件名
git commit 文件夹名字
git commit 。
git commit *
vi编辑器
阅读模式:默认的模式 从插入模式进入阅读模式按esc键
插入模式:进入插入模式才可以进行编辑 按i a o 都可以进去 通过阅读模式进入
命令模式:执行命令 从阅读模式进入 :wq保存退出
git log 提交记录查看
git commit 文件名 -m 提交信息
从暂存区提交到历史区 暂存区就没有了
git reset --hard 版本号
git reset --hard HEAD 撤回最近提交的
分支
其实就是将每个功能进行抽取,让每个功能之间可以不受影响
分支命名及相关要求
git 分支分为集成分支、功能分支和修复分支,分别命名为 master、feature 和 fix,均为单数。不可使
用 features、future、hotfixes、hotfixs 等错误名称。
master(主分支,永远是可用的稳定版本,不能直接在该分支上开发)
develop (开发主分支)
master_check(未上线前的开发分支,该分支只做只合并操作,不能直接在该分支上开发,前期
开发完成后将feature分支合并到此分支)
online(线上分支,由发版人员确认测试没问题后,将online_check分支合并到此分支)
online_check(线上开发主分支,所有新功能以这个分支来创建自己的开发分支,该分支只做只合
并操作,不能直接在该分支上开发)
feature-xxx(功能开发分支,在develop上创建分支,以自己开发功能模块命名,功能测试正常后
合并到develop分支,开发完成后合并到online_check分支上)
fix-xxx(修改bug分支,在master分支上创建,修复完成后合并到 online_check)
注意事项:
一个分支尽量开发一个功能模块,不要多个功能模块在一个分支上开发。
feature 分支在申请合并之前,最好是先 pull 一下master_check分支下来,看一下有没有冲突,
如果有就先解决冲突后再申请合并。
feature/login
分支相关操作
git branch 分支名
git branch 查看分支(*表示当前所在的分支)
git checkout分支名
git branch -d 分支名
git branch -D #强制删除
git merge 分支名 合并分支(将指定分支合并到当前分支)
git rebase 分支名(将指定分支衍合到当前分支)
衍合和合并的区别在于,合并会产生一个merge commit ,衍合不会
gitee
gitee是一个代码托管平台(国内 ,码云),其实是一个远程仓库,能够将代码上传到这个仓库
类似于gitEE的平台还有gitHub(全球性的代码托管平台)以及类似于gitHub的gitLable(需要自己搭建环境 私服)
提交内容到远程仓库
git add .
git commit . -m 信息
git remote add origin url地址 #这个git文件夹是由gitee平台创建 不需要连
git push origin master
git pull origin master 拉取最新的内容 合并分支
git fetch origin master 不会合并对应的分支
git 冲突
版本的冲突,a和b维护同一份代码(版本0),a先提交了版本1 ,b再提交的话就会有冲突(版本0)b
就是不能提交上去,这个时候就要解决这个问题,我们就可以先拉取最新的这个时候b的版本就变成了
版本1 然后b再提交这个时候版本就变成了版本2就可以顺利提交,如果a和b写的同一份文件呢,这个时
候也会有问题(冲突问题 保留谁的文件 比对代码保留对应的内容处理冲突(人工))
git fetch origin master:temp 请求master的内容进行备份 备份的分支temp
git diff temp 比对
git merge temp合并
标签:git,day29,合并,暂存区,master,版本,分支 From: https://www.cnblogs.com/zmfhtml5/p/16875050.html