GitFlow及项目工作流程
1.在GitLab上创建新项目
2.clone项目到本地
git clone git@172.18.18.148:zhaokang/test-project.git
git branch -a 查看本地和远程仓库的所有分支
git branch 查看本地所有分支
3.新建开发任务分支
git checkout develop
git branch feature-user
git push origin feature-user
git branch --set-upstream-to=origin/feature-user 将本地分支和远程目标分支关联
git branch -vv 查看本地和远程分支的关联情况
git branch -a
4.本地开发完成将代码提交到远程开发分支
git add .
git commit --m "Add user API"
git push origin feature-user
5.AT测试结束合并功能分支到QA分支并提测
git fetch
git checkout develop
git pull origin develop
git branch qa-user
git checkout qa-user
git push origin qa-user
git branch --set-upstream-to=origin/qa-user
git branch -vv
git pull origin feature-user
git checkout qa-user
git merge feature-user --squash 将特性xxx合并到qa分支
git commit -m 'your commit info'
git push origin qa-user
git branch -a 查看已有的本地及远程分支
git push origin --delete feature-user 删除远程feature-xxx分支
git branch -a 删除后,再次查看分支情况
git branch -D feature-user 删除本地分支xxx
特殊场景对待:
1.本地代码落后远端代码更新
git diff --stat feature-login origin/feature-login
git stash save "save message"
git stash list
git pull
git stash pop stash@{0}
git add .
git commit -m ""
git push
2.回退版本和重制版本
git log
git reset --hard
git push -f
回退版本会把目标版本之后的版本全部删除
git log
git revert -n
git push
重制版本会将目标版本复制,再重新生成一个版本,然后提交后会再HEAD后添加,不影响之前的提交记录
3.git本地创建多个分支互不干扰
git本地创建多个分支,互不干扰。
情景:在做某个需求a时,先需要修改紧急bug b;发版时发的是远程dev的代码。
方式一(推荐):
(1)本地已有分支dev,写了需求a,先commit,即将工作区的内容提交到版本库中,否则切换到其他分支时,就会覆盖当前工作区的代码。(这步很重要)
(2)在本地创建dev_bug分支,从远程dev分支中check(git checkout -b dev_bug origin/dev)
(3)在本地dev_bug上修改bug,并commit、push到远程dev上
(4)在本地变换到dev,继续做需求a
方式二(推荐)
(1)本地已有分支dev,写了需求a,但是不要提交。
(2)执行git stash命令,将工作区的内容“储存起来”
(3)接着在dev分支上修改bug,并提交,push
(4)执行git stash pop,恢复工作区原来的内容。
4.冲突合并
https://blog.csdn.net/qq_27905183/article/details/78575247
插件:
gitflow插件:
IDEA及jetbrains公司相关IDE工具下载地址:https://plugins.jetbrains.com/plugin/7315-git-flow-integration/versions 下载后直接再IDE中选择本地安装然后重启即可
git commit template 插件:
IDEA及jetbrains公司相关IDE工具下载地址: https://plugins.jetbrains.com/plugin/9861-git-commit-template/versions 下载后直接再IDE中选择本地安装然后重启即可