当前位置: 首页 > news >正文

git的在工作中使用的一些注意事项

git的使用在工作中十分常见,对于一个新手小白而言,最好提前了解一些git的常识,这样避免在团队协作的时候犯错误。

接下来我将从三个方面来介绍git的使用,

首先了解git的一些规则,比如分支名字,推送分支的描述,这些一般都有约定的规则,在使用的时候最好按照规则来,各个公司在这些方面一般差不多。所以有个大体的认识就OK,具体按照公司的要求,如果没有就按照下面的规则来。

第二部分就是了解推送一次内容到远程仓库的完整流程

第三部分是我认为比较常用的一些git指令。

一、使用git必看内容

1.1 常见的分支

我们提交代码需要先创建一个分支,这个时候就需要了解一下各个分支的作用,以及创建分支的名字。

  • master 稳定版本或生产环境代码。一般新创建分支就是基于master拉的。 一般不直接向 master 分支直接推送代码,而是通过合并请求把其他分支的代码合并过来。比如合并develop分支的代码,这个时候一般需要打个tag,对应一个正式的版本发布,方便回滚。
  • develop :代表项目的最新开发进度,是功能集成的主要分支。它包含所有已经完成但尚未发布的新功能。 一般不直接在develop开发新功能,而是创建新的分支开发,开发自测没问题后,开发者将自己的功能分支合并到 develop 分支。当 develop 分支的功能积累到足以发布一个新版本时,会基于master创建 release 分支然后合并到 master,一般不直接把develop合并到master,合并到master的时候需要打个tag。
  • feature 功能分支,用于开发一个新功能。通常以 feature/ 开头,后跟功能描述。例如:feature/user-login
  • hotfix 热修复分支,用于快速修复生产环境(main 分支)上的紧急 bug。通常以 hotfix/ 开头,后跟修复描述。例如:hotfix/login-bug。
  • release 发布分支,为即将发布的新版本做最后的准备(如修复小bug、更新版本号、生成文档等)。这可以避免阻塞 develop 分支的持续开发。通常以 release/开头,后跟版本号。例如:release/V1.2.0

1.2 git commit的一些描述。

推送代码的时候,为了方便理解,我们一般需要再推送的时候加上描述,同样描述也需要一定的格式。例如:git commit -m ‘fix: 修复登录token失效问题’。一般前两个用的多一点。

  • feat : 新功能
  • fix : 修复bug
  • docs : 文档改变
  • style : 代码格式改变
  • refactor : 某个已有功能重构
  • perf : 性能优化
  • test : 增加测试
  • build : 改变了build工具 如 grunt换成了 npm
  • revert : 撤销上一次的 commit
  • chore : 构建过程或辅助工具的变动

二、完成一次推送的操作

  1. git checkout -b feature/multiline (添加并且切换分支,新创建的分支,基于你创建分支时候所在的分支) a. 查看所有分支 git branch 如果分支太多,控制台一直缓存可以按q键退出。也可以按enter键回车查看下一个分支。 b. 切换到指定的分支 git checkout feature/multiline
  2. git add. 提交代码到暂存区,(这个时候提交的内容还是在本地的,撤销后远程没有记录,可以通过命令撤销,也可以直接在可视化界面这边操作,比较简单。) git add后有几个命令 a. 只想撤销其中一个文件的添加 git restore --staged script.js b. 想撤销所有文件的添加 git reset HEAD c. 想要查看git add的文件,确认文件状态 git status
  3. git commit -m ‘提交描述’ 暂存区的所有内容正式提交到本地仓库。(这个时候提交的内容还是在本地的,撤销后远程没有记录) a. 撤销提交但保留更改在暂存区 git reset --soft HEAD~1
  4. git push 本地提交推送到远程仓库 (这时候撤销,远程仓库会有记录,而且注意推送前先git pull拉取一下分支,防止冲突。) a. 撤销最近的一次提交,会留下痕迹 git revert HEAD b. 新创建的分支关联远程仓库并推送到远程 git push -u origin feature/multiline 完整写法 git push —set-upstream origin feature/multiline ,一般是新创建的分支第一次推送内容到远程仓库的操作。 c.推送内容到已关联的远程分支 git push origin feature/multiline || git push 一般远程有这个分支。

大致流程就是这个样子。

三、git常见的一些场景下的git指令

  1. 我们切换另一个分支的时候,当前分支的功能开发了一部分,暂时不能提交到远程分支上,需要把这些代码保存到一个地方。可以用暂存的功能。
    a. 暂存代码 git stash
    b. 取出暂存的代码 git stash pop
  2. 有时候我们会面临一个场景git commit一直提交失败。可以尝试下面的指令。
    git commit -m 'feat: 添加轮播标题' --no-verify 跳过 Git 的 pre-commit 钩子(比如代码检查、lint、测试等)
  3. 如果在一个分支上推送了内容,需要在另一个分支上也存在,也就是将某次提交迁移到另一个分支
    先切换到目标分支 git checkout 目标分支
    然后使用提交的hash值来迁移某次提交 git cherry-pick <commit hash>
  4. 如果一个分支想要和另一个分支一模一样,也就是将一个分支合并到一个分支上面。(一般是合并冲突的时候这样做。我们把一个功能分支合并到dev的时候,提示有冲突,那么我们需要基于合并的功能的分支,新创建一个merge分支,然后合并冲突,把新创建的merge分支合并到dev上面。)
    首先创造一个新的分支,基于master,切换新创建的分支
    然后 git merge 想要合并的分支
  5. 如何新创建一个分支,以及一些注意事项。
    a. git checkout -b feat/login(分支名) 一般而言创建分支要基于另一个分支,在创建分支的时候,可以先看一下git branch 当前分支是什么,然后创建的分支就是基于当前分支创建的,如果基于的分支被操作的时候,也会影响基于他创建的分支,所以一般基于master创建新的分支,比较稳定,除非是在一个开发功能分支的基础上开发新的功能。
    b. 重命名本地分支 git branch -m 旧的名字 新的名字
    c. 删除本地分支git branch -d 名字
    d. 查看分支的情况,基于什么创建的 git reflog show feature/multiline(分支名)
  6. 想要查看分支的提交情况,我们一般通过gitlab或者github这样远程查看分支的提交情况。
    a. 查看一个分支的最早三条消息,如果不加分支就默认是当前分支。 git log --reverse --oneline -n 3 feature/roamWander
    b. 查看一个分支最近的三条消息 git log --oneline -n 3 feature/roamWander

http://www.dtcms.com/a/399288.html

相关文章:

  • 河北网站备案多久wordpress站点管理
  • 力扣300.最长递增子序列(经典dp)力扣375.猜数字II力扣.329矩阵最长的递增子序列力扣.33搜索旋转排序数组
  • Kasaraju 算法详解:强连通分量(SCC)检测与循环依赖分析
  • python+springboot+vue的食物营养分析与推荐网站
  • 网站前端开发工具有哪些?常用网站前端开发工具推荐、网站前端开发工具对比与最佳实践分享
  • SMBJ 简单使用指南 实现在 Java/Android 程序中访问 SMB 服务器
  • 做网站市场价关键词首页排名优化价格
  • 给菠菜网站做外包网站主持人制作方法
  • C#性能优化实战:多线程与异步编程技巧详解
  • 网站开发 报价单 表格免费网络电视直播
  • 软件测试自动化率和自动化误报率
  • 储能电池包的自动化产线探秘|深圳比斯特自动化
  • 企业内部网站开发电商网站设计岗位主要是
  • 为什么自己做的网站打开是乱码上海自助建站系统
  • Spring AOP + Redisson 实现基于注解的分布式限流方案
  • VMware 性能优化完整指南
  • Vue 3 项目实战教程大事件管理系统 (一):从零开始搭建项目基础
  • 手机Nexus5 安装 Linux(3) - python3
  • vue el-form 自定义校验, 校验用户名调接口查重
  • 大型网站开发团队北京市轨道交通建设管理有限公司网站
  • 【力扣LeetCode】 349_两个数组的交集
  • 学校做好网站建设目的优化优化
  • 【论文阅读】-《Attention Is All You Need》(Transformer)
  • 网站开发工程师任职资格关于建设殡葬网站的报告范文
  • 北京市保障性住房建设投资中心网站6山东省住房和城乡建设部网站首页
  • 【SpringBoot】27 核心功能 - Web开发原理 - Spring MVC中的定制化原理
  • 自动化接口框架搭建分享-pytest
  • 锦州市做网站建设部网站职业资格证查询
  • cpp类与对象
  • 网站建设管理工作沈阳企业免费建站