Git常用的命令

git常用命令

 echo "#Description" > README.md,      添加一个文件
 git status,                             查看当前状态,发现有未跟踪文件
 git add .,                            当前目录所有文件添加到暂存区
 git diff,                                比较当前工作区和暂存区有何不同
 git status,                            查看当前状态,发现有文件未提交
 git commit -m "注释",                把暂存区内容提交到本地仓库
 git push -u origin master,      把本地仓库的提交推送到远程仓库
 git log -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分支,不能在被删除分支上执行

命名规则


每次提交必须写明注释,如果是修复Bug,请加上Bug号
创建特性分支,名称要以f-开头,加上特性名
创建发布分支,名称要以r-开头,加上预发布版本号
创建Bug修复分支,名称要以b-开头,加上Bug号
创建标签,名称要以t-开头,加上发布版本号
合并分支时必须使用–no-ff参数,以保留合并历史轨迹

git分支说明

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

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

  • git的三个工作区域

1)工作区: 就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)

2)暂存区 : 暂存区就是文件夹 .git中的一个小部分(.git文件夹就是版本库)

3)版本库:工作区有一个隐藏目录.git,这个不属于工作区,这是版本库, 版本库中还有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

在这里插入图片描述

发布分支: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分支 

在这里插入图片描述

6,分支模型:整体流程
在这里插入图片描述

真实环境开发流程

自己创建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值了

在本地创建一个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仓库)

只有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              # 此时代码才会更新到线上的代码仓库

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

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

  • 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代码推送到线上

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值