Git常用命令与分支管理命令(真实环境开发流程)

一. Git常用命令

1、git常用命令

echo "#Description" > README.md,      添加一个文件

git status,                             查看当前状态,发现有未跟踪文件

git add .,                            当前目录所有文件添加到暂存区

git diff,                                比较当前工作区和暂存区有何不同

git status,                            查看当前状态,发现有文件未提交

git commit -m "注释",                把暂存区内容提交到本地仓库

git push -u origin master,      把本地仓库的提交推送到远程仓库

git log -2,                                   查看提交日志

2、git分支管理常用命令

git branch               显示所有分支

git branch b1           从当前分支创建一个叫b1的分支

git checkout b1         切换到b1分支

git checkout -b b1    相当于以上两条命令的组合

git checkout master     切换到master主分支

git merge b1              把b1分支的代码合并到master上

git branch -d b1          删除b1分支,不能在被删除分支上执行

3、命名规则

每次提交必须写明注释,如果是修复Bug,请加上Bug号

创建特性分支,名称要以f-开头,加上特性名

创建发布分支,名称要以r-开头,加上预发布版本号

创建Bug修复分支,名称要以b-开头,加上Bug号

创建标签,名称要以t-开头,加上发布版本号

9合并分支时必须使用--no-ff参数,以保留合并历史轨迹

二. git分支说明

  1. master 主分支,稳定代码,为生产环境做准备的
  2. develop 开发分支,为开发服务
    3. git的三个工作区域
  • 1)工作区: 就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。
  • 2)暂存区 : 暂存区就是文件夹 .git中的一个小部分(.git文件夹就是版本库)
  • 3)版本库 工作区有一个隐藏目录.git,这个不属于工作区,这是版本库, 版本库中还有Git为我们

在这里插入图片描述

三. 真实环境开发流程

3.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值了

3.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仓库)

四 特性分支:feature (开发分支合并到dev分支)

从develop分支创建,用于特性开发,完成后要合并回develop分支。
  操作过程:

git checkout -b feature-01 dev              从dev分支创建 feature-01 特性分支
git checkout dev                          开发完成后,需要合并回dev分支,先切换到dev分支
git merge --no-ff feature-01                  合并回develop分支,必须加--no-ff参数
git status                                               查看当前有哪些文件有冲突
git diff readme.txt                                  查看冲突文件详情
git add readme.txt                                将解决冲突后的文件添加到暂存区
git commit -m "conflict fixed"                 所有冲突解决后提交到版本库
git log --graph                                        查看分支合并图
git branch -d feature-01                         删除特性分支
git push origin dev                                  把合并后的develop分支推送到远程仓库

冲突标记:

# 比如在dev分支上,将特性分支 feature-01  合并到dev分支中
git merge --no-ff feature-01   # 执行此命令

<<<<<<< HEAD
Creating a new branch is quick & simple.   # dev分支中的代码
=======
Creating a new branch is quick AND simple.  # feature-01 中的冲突代码
>>>>>>> feature1

在这里插入图片描述

2、远程分支版本回退的方法

  • git reflog
  • git reset --hard Obfafd
  • git push -f origin dev

五. 发布分支:develop

从develop分支创建,用于预发布版本,允许小bug修复,完成后要合并回develop和master。
  操作过程:

git checkou -b release-1.2 dev         创建一个发布分支 
git checkout master                 切换到master分支,准备合并 
git merge --no-ff release-1.2          把release-1.2分支合并到master分支 
git tag 1.2                      从master分支打一个标签 
git checkou dev                   切换到develop分支,准备合并 
git merge --no-ff release-1.2           把release-1.2分支合并到dev分支 
git branch -d release-1.2            删除这个发布分支

六. 修复分支:bug

从master分支创建,用于生产环境上的Bug修复,完成后要合并回develop和master。
  操作过程:

git checkout -b hotfix-1.2.1 master      从master分支创建一个Bug修复分支 
git checkout master                切换到master分支,准备合并 
git merge --no-ff hotfix-1.2.1         合并到master分支 
git tag 1.2.1                    为master分支创建一个标签 
git checkout develop                切换到develop分支,准备合并 
git merge --no-ff hotfix-1.2.1         合并到develop分支 
git branch -d hotfix-1.2.1            删除hotfix-1.2.1分支 

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值