git
git工作流
master:主
dev:开发分支
feature:功能分支
• 用途:
• 每个新功能位于一个自己的分支,这样可以push到中央仓库以备份和协作。使用develop分支作为父分支。
• 当新功能完成时,合并回develop分支
release:测试分支
• 用途:
• 当dev分支开发完成之后可以测试了,拉取此分支用于测试
• 当此分支没有问题会合并至master上和dev上
bug分支
• 修改测试时候的bug,修改完之后在合并到release测试分支上
• hotfix:热修复分支
• 在maser直接拉取出来了分支,专门改master上的bug的分支
• 并且改完直接合并到master上,并且还得更新到dev上
简单Linux命令介绍
查看目录
• ls: linux命令
• dir:dos命令
• ls -a:查看隐藏目录
• pwd:用于显示当前目录
创建文件夹
• mkdir 文件名
• 创建一个文件夹
• mkdir 文件名1 文件名2
• 同时创建两个同级的文件夹
• mkdir -p static/js
• 创建一个目录树
创建文件
• touch 文件名
删除
• rmdir 文件夹名 :删除文件夹
• 删除文件
• rm 文件名:删除改文件
• rm -r 文件夹:递归删除文件夹及内部内容
• rm -f 文件名:不需提示,删除文件
• rm -rf dist 递归删除不需提示,强制删除文件夹及文件夹中所有内容
• - rm -rf dist1 dist2 递归删除不需提示,同时删除dist1、dist2
清空日志及操作记录
• cls:DOS
• clear:linux
移动文件
• mv a b
• 如果b文件(或者夹)存在则把a移动到b中,如果b不存在,则把a命名为b
拷贝文件
• cp index.js main.js 拷贝index.js并命名文main.js
• cp -a dist1 dist2 复制一个目录
git常用命令
• 基本单线命令
• 初始化仓库:将目录变成可以管理的仓库
• git init
• 从工作区添加到暂存区
• git add 文件/夹
• 添加指定文件/夹到暂存区
• git add .
• 添加所有文件/夹到暂存区
• 从暂存区添加到仓库中
• git commit -m "说明"
• 查看当前工作区状态
• git status
• 撤销修改
• git checkout -- 文件
• 文件修改后,未放到暂存区,撤销修改后回到版本库原来的状态(丢弃工作区的修改)
• 文件已添加至暂存区,又做了修改,撤销修改后回到添加到暂存区后的状态
• git reset HEAD 文件
• 撤销暂存区的修改、重新放回工作区
• git reset
• 既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本
• 删除文件
• 从版本库中删除该文件
• git rm 文件名
• 命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,不用担心误删,但是要小心,只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。
• 一键还原
• git checkout --文件名
• git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除
• 从来没有被添加到版本库就被删除的文件,是无法恢复的
• 回滚版本
• 回退至上一个版本
• git reset --hard HEAD^
• 回退到指定的版本
• git reset --hard commit_id
• 查看提交历史,以便确定要回退到哪个版本
• git log
• git log --pretty=oneline
远程仓库
• 克隆远程仓库
• git clone 远程仓库地址
• 关联远程仓库
• git remote add origin 远程仓库地址
• 第一次推送master上的所有内容
• git push -u origin master
• 之后就直接使用 git push origin master
分支管理
• 查看分支
• git branch
• 创建分支
• git branch 分支名
• 切换分支
• git checkout 分支名
• 创建并切换分支
• git checkout -b 分支名
• 合并指定分支至当前分支
• git merge 分支名A
• Fast-forward信息,Git告诉我们,这次合并是“快进模式”,也就是直接把master指向dev的当前提交
• 合并完成后可以删除分支名A
• 文件冲突
• 当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成
• 当前分支与父分支各自分别有新的提交,则会产生冲突
• 有冲突则必须手动解决冲突
• git status可以查看冲突文件
• git会用<<<<<<<,=======,>>>>>>>标记出不同分支的内容
标签管理
• 查看所有标签
• git tag
• 新建标签
• git tag 标签名
• 默认为HEAD,
• 指定给某一个提交打上标签
• git tag 标签名 提交的版本号
• git tag -a 标签名 -m "标签信息"