Git-flow详解及git常用命令

GitFlow是一种在Git中管理项目分支的策略,强调主分支(master)、开发分支(develop)、功能分支(feature)、发布分支(release)和修复分支(hotfix)的角色。本文详细描述了GitFlow的工作流程及其在开发过程中的应用示例。
摘要由CSDN通过智能技术生成
Git Flow是一种在Git版本控制系统中使用的分支管理工作流程。它定义了一套严格的分支命名规则和分支合并策略,以帮助团队更好地协作开发和管理代码。
Git Flow的主要分支包括:
1. 主分支(master):用于存放稳定的、可发布的代码版本。
2. 开发分支(develop):用于集成各个功能开发分支的代码,是开发团队的主要工作分支。
3. 功能分支(feature):用于开发新功能的分支,从develop分支上创建,完成后再合并回develop分支。
4. 发布分支(release):用于发布新版本的分支,从develop分支上创建,完成后合并回develop和master分支,并打上版本号标签。
5. 修复分支(hotfix):用于修复线上问题的分支,从master分支上创建,完成后合并回develop和master分支,并打上版本号标签。
Git Flow的工作流程如下:
1. 从主分支(master)上创建并切换到开发分支(develop)。
2. 从开发分支(develop)上创建并切换到功能分支(feature)。
3. 在功能分支(feature)上进行具体的功能开发。
4. 完成功能开发后,将功能分支(feature)合并回开发分支(develop)。
5. 当开发分支(develop)上的功能达到一个发布的阶段时,从开发分支(develop)上创建并切换到发布分支(release)。
6. 在发布分支(release)上进行测试、修复bug等工作。
7. 完成发布前的准备工作后,将发布分支(release)合并回开发分支(develop)和主分支(master),并打上版本号标签。
8. 如果在发布过程中发现线上问题,可以从主分支(master)上创建并切换到修复分支(hotfix),进行紧急修复。
9. 修复完成后,将修复分支(hotfix)合并回开发分支(develop)和主分支(master),并打上版本号标签。

1.示例步骤     
  • $ git status              # 查看文件的修改状态

  • $ git add .                # 添加所有修改的文件到本地暂存区

  • $ git commit -m "提交备注"   # 将本地修改保存到本地仓库中

  • $ git push origin master       # 将本地仓库的修改推送到远程仓库中

  • $ git log                       # 查看远程仓库的提交记录

  • $ git log --graph          # 可视化查看提交记录

  • $ git init    #初始化本地库

  • # ll 查看文件夹下的文件, ll -a 查看文件夹下的隐藏文件


2.查看分支
  1. $ git branch       # 查看当前处于哪个分支上

  2. $ git branch -a    # 查看所有的分支

3.拉取代码
  1. $ git pull origin feature-bug-fix    # 拉取指定分支(feature-bug-fix)的代码

  2. $ git pull origin master                # 拉取主分支代码到本地,作用等同于update

4. 设置姓名和邮箱地址
  1. $ git config --global user.name "Firstname Lastname"

  2. $ git config --global user.email "your_email@example.com

5. 提高命令输出的可读性

$ git config --global color.ui auto

6. 设置 SSH Key
  1. $ ssh-keygen -t rsa -C "your_email@example.com"

           Generating public/private rsa key pair.

           Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa): 按回车键

           Enter passphrase (empty for no passphrase): 输入密码

           Enter same passphrase again: 再次输入密码

            // 进行认证并通信

  1. $ ssh -T git@github.com   # $ ssh -T git@gitee.com

            Enter passphrase for key '/Users/Andney/.ssh/id_rsa':

            Hi Andney! You've successfully authenticated, but GitHub does not provide shell access.

7. 提交文件
  1. $ git status     # 查看文件的修改状态

  2. $ cat  hello.txt  #查看文件

  3. $ git add <file>    # 添加指定的文件,"<file>"为文件的路径,查看路径可通过"$ git status"获取

  4. $ git log          # 查看代码提交日志,查看详细版本信息

  5. $ git reflog     #查看引用日志信息

  6. $ git push       # 推送到远程,示例:$ git push origin master (推送到主分支上)

8. 代码推送和合并
  1. $ git push origin feature-bug-fix  # 推送到指定的分支上

  2. $ git push origin master           # 推送到主分支上

  3. $ git checkout master          # 切换到主分支上 ,

  4. 所以切换分支的本质就是移动HEAD指针

  5. head 指向的是分支;master、hotfix指向的是版本

  6. $ git checkout feature-bug-fix # 切换到分支feature-bug-fix上

            # 合并分支代码前,需要先切换到主分支上($ git checkout master)

  1. $ git merge --no-ff feature-bug-fix # 将分支feature-bug-fix上的修改合并到当前分支上

  2. $ git reset --hard   #版本号   #版本穿梭

  3. $ git branch -v   # 查看分支

  4. $ git branch 'hotfix'  #创建分支

  5. 冲突产生的表现后面状态为 MERGEING

  6. $ git remote -v  #查看当前所有远程地址别名

  7. $ git remote add  '别名'   ' 远程地址'  #给远程地址起别名

  8. clone 会做如下操作 : 拉取代码,初始化本地库,创建别名(别名默认是origin)

9. gitignore文件

# .gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

# 解决方法是:先把本地缓存删除(改变成未track状态),然后再提交。

  1. $ git rm -r --cached .  #从暂存区移除,只是从暂存区删除,你的工作区还是有的

  2. $ git add .  #将工作区的文件添加到暂存区

  3. $ git commit -m "update .gitignore"  #将暂存区的文件提交到本地库,形成自己的历史版本

10. 配置公钥命
  1. $ git config --global user.name "PepsiMamba"

  2. $ git config --global user.mail "xxxxxxxxx@qq.com"

  3. $ ssh-keygen -t rsa (在linux服务器上使用时需要按3个回车,密码为空)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值