02.git分支管理

1.master 主分支,稳定代码,为生产环境做准备的

2.develop 开发分支,为开发服务(测试没有问题的代码最终会合并到master分支形成文档版本)

3.git的三个工作区域

  1)工作区: 就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。
  2)暂存区 : 暂存区就是文件夹 .git中的一个小部分(.git文件夹就是版本库)
  3)版本库: 工作区有一个隐藏目录.git,这个不属于工作区,这是版本库, 版本库中还有Git为我们

 

 

2.真实环境开发流程

2.1自己创建django项目推送到仓库

django-admin startproject demo2
cd demo2                          # 切换到项目路径
git init                          # 初始化这个本地git仓库
# git remote rm origin            # 如有路径不一致可以先删除现有的路径       
git remote add origin http://192.168.56.12/devopsedu/demo2.git    #设置代码提交url路径
touch Readme                      # 新建一个项目文件(工作区)
git add .                         # 把工作区中所有变更全部提交到(暂存区)
git commit -m 'init'              # 把暂存区代码提交到本地git仓库,只有提交到代码库才能被git管理(本地git仓库)
git push origin master            # 将本地仓库的代码推送到线上仓库(线上git仓库)
# 代码回滚
git log                        #查看所有提交到仓库的版本记录:   git log -2
git reflog                     #查看所有操作记录(状态的md5值和改变的值)
git reset --hard d9e0ed0       #回到指定版本(d9e0ed0是创建版本的MD5值得前6位或者7位)
git reset --hard HEAD^         #回到上一个版本
注:这样可以回到第一次提交到仓库的状态,但再使用git log看不到其他几次的md5值了

2.2 在本地创建一个dev分支,开发完成后合并到master分支

'''1. 从master分支切换到dev分支进行开发并推送到dev分支的过程'''
git checkout -b dev master    # 从master分支创建dev开发分支
git branch                    # 可以看到现在已经切换到dev分支了
vim Readme                    # 模拟在项目中修改代码
git add .                     # 把工作区中所有变更全部提交到(暂存区)
git commit -m 'in dev'        # 把暂存区代码提交到本地git仓库(本地git仓库)
git push origin dev           # 把代码先推倒dev分支,让测试人员测试

'''2. 当测试人员测试完成后将dev分支代码合并到master形成文档版本'''
git checkout master           # 开发完成后,需要合并回master分支,先切换到master分支
cat Readme                    # 可以看到master分支的内容没有修改
git merge --no-ff dev         # 将刚刚dev中修改的代码合并到master
git push origin master        # 将本地仓库的代码推送到线上仓库(线上git仓库)

1.只有master分支情况下(一个人负责维护项目)

git clone git@gitee.com:xiaonqedu/daily1904.git
vim test.txt                 # 工作区(本地的仓库)
git add .                    # 当前修改是在暂存区(本地仓库)
git commit -m '0514'         # 把暂存区的代码永久保存到 版本库中,这样代码就不会丢失(本地版本仓库)
git log -2                   # 查看最近两次的版本号,以便回归
# 回滚
git reset --hard 41e1efb     # 回滚到任意版本
git reflog                     #查看所有操作记录(状态的md5值和改变的值)
# 把本地真正开发的代码提交到线上代码仓库
git push origin master              # 此时代码才会更新到线上的代码仓库

2.多人协同开发,一般有master分支和dev分支

1. master 主分支,稳定代码,为生产环境做准备的   2. develop 开发分支,为开发服务(测试没有问题的代码最终会合并到master分支形成文档版本)


git clone git@gitee.com:xiaonqedu/daily1904.git
git branch                                  # 查看当前所在分支
git checkout -b dev master                  # 从master分支切换到了dev分支
vim test.txt                               # 模拟开发过程
git add .
git commit -m 'dev0514'                    # 把代码提交到了本地dev分支上

# 切换到master分支
git checkout master

# dev分支是一个开发分支,如果测试发现没有问题,需要把dev分支代码合并到master分支,形成最终稳定版本
git merge dev                              # 把dev分支中的代码合并到master中
git push origin master                     # 把本地仓库中master代码推送到线上
posted @ 2021-03-27 21:04  小虾米爱吃鱼  阅读(74)  评论(0编辑  收藏  举报