- clone 代码
- 创建新的特性分支,例如local_feature,千万别嫌麻烦就在当前分支(current_branch)开发
- 在新的分支上面不断的commit,message随便写都没关系
- 完成代码开发后,在local_feature分支使用git rebase -i commitId,commitId为当初clone时候的最新的commitId,然后决定哪些commit message需要修改,合并和删除,根据提示使用e,s,f等,合并好commit之后可以git log查看一下
- 测试通过之后,先切换到要进行提交代码的分支current_branch,git pull --rebase
- 再次切换到local_feature,git rebase current_branch将local_feature的基点改为目前current_branch分支最新的一个commitId点,不断解决冲突之后,git rebase --continue直到applying…(这个时候一定要快速解决,不要间断,解决冲突的时候上面是别人的下面是自己的,解决完成可能需要git add冲突的几个文件,再继续git rebase --continue)***重点来了:如果这一步断掉了或者耗时过长,那么后面必须要:1.将此步骤接触之前不能下新的代码;2. 结束之后必须再次checkout到current_branch分支,再次git pull --rebase,然后再次到local_feature分支执行git rebase current_branch(重复步骤6)
- 再次切换到current_branch分支,get merge local_feature
- git push并尽快通过review,如果review没有通过只需要切到current_branch分支,git reset --hard 到步骤5得到的最新的commitId那一点,然后切换到local_feature进行bug修复,然后重复步骤4,5,6,7,8,知道代码真正入库
- 万一第7步之后发现有问题想将current_branch重置到origin最新点,git fetch --all, git reset --hard origin/current_branch, git fetch,其中git fetch --full 是将远程的拉倒本地但是不执行git merge,如果直接执行git pull相当于git fetch 和 git merge
开发新特性代码提交的正确姿态(仅仅自己本地开发,不与他人协作)
最新推荐文章于 2023-06-27 05:10:18 发布