小工具      在线工具  汉语词典  css  js  c++  java

git基本操作

Java基础,git 额外说明

收录于:40天前

一、分支

  • 分支命名规则
    • 开发分支: dev
    • 功能分支:feature/功能名称
    • bug分支:bugfix/bug名称
    • 预发布分支:release/预发布版本名称
  • 列出本地分支: git branch
  • 列出远程分支: git branch -r
  • 切换分支: git checkout newB
  • 删除本地分支: git branch -d newB
  • 创建分支: git checkout -b newB
  • 基于release-2.0分支创建新分支release-2.1,并进入到新创建的分支
    • git checkout -b release-2.1 release-2.0
    • git push -u origin release-2.1 (将newB提交到远程仓库 【第一次要用-u 以后不需要】)

二、暂存stash

  • 临时存储
    • git stash save "message"
    • git stash
  • 暂存列表: git stash list
  • 应用程序暂存
    • git stash apply:默认使用第一个贮藏,即stash@{0}
    • 如果想贮藏第二个:git stash apply stash@{1}
  • 查看某个暂存改动: git stash show:默认第一个 [-p] :详细
  • 删除暂存: git stash drop stash@{0}
  • 清空所有暂存: git stash clear

三、合并

  • 将指定分支合并到当前分支(当前newA): git merge newB
  • 解决冲突
    • 解决冲突后,添加对应的文件
    • 然后提交内容。您可以直接使用默认的提交副本。
    • 推送文件
  • Cherry-pick(将newB分支上的提交提交到newA,当前在newA中)
    • git cherry-pick newB分支上的某些commitId
  • 提交本地仓库后修改commit信息: git commit --amend

四、remote

  • 修改remote地址: git remote set-url origin <newurl>
  • 删除remote: git remote remove origin
  • 查看现有的remote地址: git remote -v

五、基础配置

  • git配置: git config --list
  • 设置用户名和邮箱
    • git config [--global] user.name "[name]"
    • git config [--global] user.email "[email address]"

六、Tag标签(版本发布)

简单理解,tag就是某个commit的标签,相当于别名。

例如,当项目发布某个版本时,会为最后一次提交创建一个诸如 v1.0.1 之类的标签,以标识该里程碑的重要性。

查看标签:
  • 直接列出所有的标签:git tag
  • 查看标签的提交信息: git shwo 标签名
  • 在提交历史中查看标签:git log --oneline --graph
创建标签:
  • git tag 标签名 : 直接给当前的提交版本创建一个【轻量标签】
  • git tag 标签名 提交版本号 :给指定的提交版本创建一个 【轻量标签】
  • git tag -a 标签名称 -m 附注信息 :直接给当前的提交版本创建一个 【附注标签】
  • git tag -a 标签名称 提交版本号 -m 附注信息 :给指定的提交版本创建一个【附注标签】
  • git push origin 标签名称 : 将指定的标签上传到远程仓库
  • git push origin --tags : 将所有不在远程仓库中的标签上传到远程仓库
删除标签:
  • git tag -d 标签名称 : 删除本地指定名称的标签
  • git push origin --delete 标签名称:删除远程仓库的标签
Git切换到指定Tag:
  1. git checkout tag_name,此时git 可能会提醒你当前处于一个“detached HEAD" 状态。因为tag相当于一个快照,是不能修改他的代码的,如果想要在tag代码的基础上修改,你需要一个分支;
  2. git checkout -b branch_name tag_name,这样就会从tag创建一个分支,然后就跟普通的git操作一样了

七、代码提交规范

  • feat: 新功能(feature)
  • fix: 修改bug
  • docs: 文档(documentation)
  • style: 格式化代码(不影响代码运行的变动)
  • refactor: 重构(不是新增功能,也是修改bug的代码变动)
  • test:新增测试
  • chore:部署相关的

定期提交:

feat : 增加xxx功能
xxx模块增加xxx功能

提交的不兼容或已解决的问题:

fix : 修改xxx功能
xxx模块xxx功能修改 
不兼容之前的版本 #xxxId
. . .

相关推荐

额外说明

分布式服务管理框架-Zookeeper客户端zkCli.sh和zkCli.cmd使用详解(转载)

转载自:分布式服务管理框架-Zookeeper客户端zkCli.sh使用详解 在学习zookeeper(下面简称zk)客户端之前,有必要先了解一下zk的数据模型。zk维护着一个逻辑上的树形层次结构,树中的节点称为znode,和Linux系统的文件系统结构

额外说明

初始化List几种方式

List list1 = Lists.newArrayList(11L, 22L); List<String> list2 = Arrays.asList("11","22"); List<String> list3 = new Arra

额外说明

【python】考前复习,整理Python基础语法知识点

文章目录 1.常量与表达式 2.变量和数据类型 创建变量 数据类型 动态类型 数据类型的转换 3.注释 4.字符串 字符串的定义方式 字符串的拼接 字符串的格式化① 字符串格式化的精度控制 字符串的格式化② 对表达式进行格式化 5.从控制台输入(inpu

额外说明

Web前端基础——HTML总结1

标签 (1)排版标签 标题:h1~h6 <h1></h1> <!-- 文字加粗 1~6字号逐渐减小 独占一行(换行) --> 段落 <p></p> <!-- 独占一行 段落之间存在间隙 --> 换行 <br> 分割线 <hr> 文本格式:加粗,倾斜,下滑

额外说明

【Unity3D 灵巧小知识点】 ☀️ | Unity退出游戏代码

Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方

额外说明

Python 第六节 第十课

[toc] lambda 表达式和匿名函数 lambda 表达式可以用来声明匿名函数. lambda 函数是一种简单的, 在同一行定义函数的方法. lambda 函数实际生成一个函数对象.  lambda 表达式只允许包含一个表达式, 不能包含复杂语句,

额外说明

OpenCV实战(27)——追踪视频中的特征点

OpenCV实战(27)——追踪视频中的特征点 0. 前言 1. 追踪视频中的特征点 2. 特征点追踪原理 3. 完整代码 小结 系列链接 0. 前言 我们已经知道可以通过一些最独特的点来分析图像,对于图像序列同样如此,其中一些特征点的运动可用于了解捕获

额外说明

比Source Insight更方便,用Android Studio阅读android系统源代码

Android Studio查看android系统源代码 例如:用Android Studio阅读framework代码(基于ubuntu/linux环境举例) 1,打开Android Studio-> New -> New Project创建新工程命

额外说明

ROS从入门到精通6-4:costmap代价地图插件编写案例(prohibition_layer)

目录 0 专栏介绍 1 为什么需要代价地图插件? 2 自定义代价地图插件 3 仿真测试 0 专栏介绍 本专栏旨在通过对ROS的系统学习,掌握ROS底层基本分布式原理,并具有机器人建模和应用ROS进行实际项目的开发和调试的工程能力。 -详情:《ROS从入门

额外说明

【Go】Map和Slice初始化

Map和Slice初始化并没有分配内存时,不能直接操作 func main() { var m map[string]int //m["one"] = 1 //panic: assignment to entry in nil map fmt

ads via 小工具