应用场景
在产品迭代开发过程中,不可避免会遇到这种情况:产品迭代产生的中间版本,会部署到各个项目中,一旦项目部署后,产品再次迭代会影响已部署项目。如何管理产品与项目代码版本将是一个新的挑战,使用Git分支可以完美的解决这个问题。
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git分支dev和master,dev作为开发分支,master作为主分支。除这两个分支外,我们还需要一系列版本分支。
创建版本分支
git branch version //创建版本分支,有几个版本就可以创建几个分支
提交分支代码
提交代码有多种方式,可以用git命令提交代码,也可以借助工具(idea、TortoiseGit等)提交代码。
我个人习惯用开发工具idea提交,操作简单,可以准确的选择需要提交的文件commit。
git checkout dev //切换到dev分支
git pull origin dev //拉取远程仓库最新代码
git add [文件名/目录/.] //添加文件到暂存区,“.”代表所有文件
git commit -m [提交说明] //将暂存区内容提交到本地仓库
git commit -a //修改文件后不需要执行 git add 命令,直接来提交
git push origin dev //将本地仓库dev修改推送到远程仓库dev
合并代码
指定commit合并
假设dev分支提交了三次代码,分为commit11、commit2、commit3,version分支只需要commit1和commit3。
git checkout version //切换到version分支
git cherry-pick commit1 //复制commit1,并在当前version分支做一次完全一样的新提交
git cherry-pick commit3 //复制commit3
git push origin version //将本地仓库version修改推送到远程仓库version
指定文件合并
假设dev分支提交了一次代码,version分支只需要合并其中某个文件。
git checkout version //切换到version分支
git checkout --patch dev a/pom.xml //将dev分支的a/pom.xml检出
git commit -m 合并文件 //将文件提交到本地仓库
git push origin version //将本地仓库修改推送到远程仓库
具体值为git提交的commit sha值,一般为8位,数字+英文字母,可在git或idea上查看。commit2和commit3同理。 ↩︎