总结版本控制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后再提交的问题:
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.