版本控制Git使用最佳实践

总结版本控制Git的使用,应明确有哪些具体的场景

应用场景  紧急上线(hotfix)  功能开发(feature)  测试(dev/release)  生产(master)
紧急上线

4.git checkout -B hotfix origin/master

5.git add .

6.git commit

7.git push origin hotfix

8.git fetch

9.git rebase origin/master(确定是否需要解决冲突)

这里解决冲突

10.git add .(解决冲突后执行)

11.git rebase --continue(解决冲突后接着rebase)

   

1.git checkout master(本地执行)

2.git fetch(本地执行)

3.git rebase origin/master(本地执行)

12.git merge hotfix(合并紧急上线分支)

13.git push origin master(上线)

14.git fetch(生成环境执行)

15.git rebase origin/master(生成环境执行)

功能开发上测试  

4.git checkout -B feature origin/dev(本地执行,检出开发分支)

5.git add .(本地执行,添加)

6.git commit (本地执行,提交)

7.git push origin feature(本地执行,推送到git服务器)

8.git fetch

9.git rebase origin/dev(本地执行,确定是否有冲突)

这里解决冲突

10.git add .(本地执行,添加)

11.git rebase --continue(本地执行,继续)

1.git checkout dev(本地执行)

2.git fetch(本地执行)

3.git rebase origin/dev(本地执行)

12.git merge feature(本地执行dev合并master)

13.git push origin dev(将合并推送至git服务器)

14.git fetch(测试环境执行)

15.git rebase origin/dev(测试环境执行,上测试)

 
 上线      1.git checkout dev(测试)  
         
         
         
         
         
         

2. rebase后再提交的问题:

版本控制Git使用最佳实践

3. feature分支基于release分支作rebase出错的通用解决办法(删除本地分支,重新检出)

//取消rebase操作git rebase --abort
git checkout release//删除本地feature分支,这个操作不会删除远端feature分支
git branch -D//重新检出分支
git checkout feature

4. 使用git push报错:

Access denied: Cannot push code by Deploy Public Key
fatal: Could not read from remote repository.

上一篇:2013第38周日Java文件上传下载收集思考


下一篇:RadioGroup和ViewPager实现Tab