前言:在游戏开发过程中,总会遇到这样的情况,某个模块策划文档不全或者美术资源没到位等,不得不暂时搁置该模块开发,转向另外一个模块。这个时候就可以使用以下几个git命令,轻松多任务切换。
下面举个例子介绍怎么使用
假设我现在在项目的develop分支,或者是master分支,也就是项目的主开发分支。而我将要开发的功能是新手引导,这个时候我先切一个新本地分支tutotial.
git checkout -b tutorial
这样我就可以在tutorial分支进行我的各种处理了,然后突然遇到策划调整文档,暂时需要搁置新手引导去做其他模块。这个时候需要把现在的更改保存,创建一个临时commit来保存。
git add .
git commit -m "temp tutorial"
假设我接下来要做的模块是邮件模块,那么同样使用上面的命令,切一个新的本地分支mail.
git checkout develop
git pull --rebase (同步服务器最新提交并合并到本地)
git checkout -b mail
这样就可以做邮件的功能了。如果后来新手引导的文档更新好了,并且新手引导的优先级比邮件要高,那就需要切回引导分支,继续引导模块。
git add .
git commit -m "temp mail"
git checkout tutorial
git reset --soft head~ (把该分支的最新提交释放回来)
这样就可以把之前的新手引导做的东西释放出来,然后接着做。新手引导做好以后,进行以下操作把引导功能同步到主分支。
git add .
git commit -m "新手引导模块"
git log (查找最新的commit,复制commit ID)
git checkout develop
git cherry-pick (粘贴commit ID)
到这一步之后,如果有冲突解决冲突,重新做commit提交,如果没有冲突直接git push即可。然后删除本地分支tutorial.
git branch -D tutorial
至此,新手引导功能完毕, 可以继续做邮件功能了,接下来不用我说了吧。