
 
使用场景
- 团队协同开发时,生产环境出现bug,需要紧急修复。
 - 每位同学在本地开发,对应本地的dev分支,本地测试通过后提交到测试环境的dev分支。
 - 测试环境有其他同学提交的代码,正在测试中,无法提交到生产环境的master分支。
 - 以上情况导致我们不能在本地基于dev分支修复bug,因为会和其他同学提交的测试中的代码“撞车”,导致无法及时提及到生产环境。
 - 这个时候如何正确使用Git管理代码呢?
 
解决思路
- 首先我们从master拉取最新代码到本次创建临时分支
 - 在本地紧急修复代码,进行测试,测试无误后merge热修复代码到dev分支
 - 本地merge测试分支和本地热修复分支的代码,有冲突解决冲突,提交代码(保证紧急更新的代码能及时被其他同学拉取到)
 - 测试环境进行测试
 - 测试无误后切换到master分支,merge紧急修复分支代码!(注意:是紧急修复分支的代码,不是测试dev分支代码,因为我们无法保证dev分支有无其他同学提交的未测试通过的代码!!!)
 - 推送master分支merge热修复的代码到远程仓库,发布项目
 - 如果需要的话添加tag标签,标记一下操作。
 - 删除热修复分支,切换到dev分支,继续自己的本地开发。
 
操作流程
- 切换到master分支,拉取最新代码
 
git checkout master
git pull
- 基于master分支创建热修复分支
 
git branch master_hotfix
- 1
 
- 切换到热修复分支
 
git checkout master_hotfix
- 1
 
- 本地开发,修复bug,测试
 
coding
- 1
 
- 本地测试通过后,merge热修复代码到dev分支
 
git checkout dev
git merge master_hotfix
- 解决冲突,提交代码,测试环境进行测试
 
git push origin dev
- 1
 
- 测试通过后,merge热修复代码到master分支
 
git checkout master
git merge master_hotfix
- 推送master代码到远程仓库
 
git push origin master
- 1
 
- 添加tag标记:git tag -a 版本号 -m “注释”
 
git tag -a 1.1.0 -m "紧急修复xxbug"
- 1
 
- 推送tag
 
git push --tag
- 1
 
- 删除热修复分支
 
git branch -d master_hotfix
- 1
 
- 切换到开发分支,进行本地开发
 
git checkout dev
- 1
 
附录:Git使用的小技巧
Git命令别名
- 首先找到Git的配置文件,比如Mac系统下
 
vim ~/.gitconfig
- 1
 
- 在配置文件中根据自己的使用习惯添加[alias],比如:
 
[alias]
br = branch
ci = commit
cl = clone
co = checkout
cp = cherry-pick
cfg = clone
df = diff
fh = fetch
lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"
mg = merge
pl = pull
plr = pull --rebase
rb = rebase
ph = push
rmt = remote
rst = reset
sh = stash
st = status
sts = status -s
sbm = submodule
sw = show
swf = "show --name-status"
delb = "push origin --delete"
delt = "push origin :"
mb = merge-base
- 4
 - 5
 - 6
 - 7
 - 8
 - 9
 - 10
 - 11
 - 12
 - 13
 - 14
 - 15
 - 16
 - 17
 - 18
 - 19
 - 20
 - 21
 - 22
 - 23
 - 24
 - 25
 - 26
 - 27
 - 28
 - 29
 - 30
 - 31
 - 32
 - 33
 - 34
 - 35
 - 36
 - 37
 - 38
 - 39
 - 40
 - 41
 - 42
 - 43
 - 44
 - 45
 - 46
 - 47
 - 48
 - 49
 - 50
 - 51
 
- 这样我们就能使用简化后的命令操作git了,进一步提高了效率。
比如: 
git commit -m'注释'
- 1
 
可以简化为:
git ci -m'注释'
- 1
 
总结
团队协作是职业生涯中必须面对的问题,Git为我们代码的协作管理提供了强大的工具。
熟悉Git操作,拥抱团队协作。
本文抛砖引玉,大家还有哪些Git使用技巧,欢迎在评论区赐教。

                

















