首页 > 其他分享 >git基础操作

git基础操作

时间:2023-02-19 20:12:40浏览次数:32  
标签:git 标签 基础 stash tag 提交 操作 分支

一、分支

  • 分支命名规则
    • 开发分支: 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
  • 冲突解决
    • 解决完冲突后add对应的文件
    • 然后commit一下内容,可以直接使用默认commit文案
    • push文件
  • cherry-pick(将newB分支上的commit提交到newA,当前在newA)
    • git cherry-pick newB分支上的某些commitId
  • commit本地仓库后修改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打的一个标识,相当于起了个别名

例如在项目发布某个版本的时候,针对最后一次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功能

带有不兼容或者关闭issue的提交:

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

标签:git,标签,基础,stash,tag,提交,操作,分支
From: https://www.cnblogs.com/sun2020/p/17135458.html

相关文章

  • pwntools基础知识
    pwntools基础知识连接:本地process()里面放文件名例如process('./test');远程remote(,),remote接受url并指定端口,remote('url',端口)。数据处理:主要对整数进行打包,就是......
  • 利用Git+GitHub进行团队协作开发
    自己之前写过两篇关于Git和GItHub使用的文章,分别是浅谈使用git进行版本控制博客链接:https://www.cnblogs.com/wj-1314/p/7992543.html使用GitHub的点点滴滴的博客链......
  • Linux基础 - 服务管理 Unit配置文件
     一、配置文件的格式1.配置文件的区块名和字段名,都是大小写敏感的。2.每个区块内部是一些等号连接的键值对,键值对的等号两侧不能有空格。[root@cl-server~]#sys......
  • docker 操作手册(二)
    端口映射#dockerrun--namewarp-p8080:8080-it-dubuntu087d0c3227c569e07a36958dae2ce08c1616576b3b7531000e220f6ec0ad9eb7#dockerpsC......
  • docker 操作手册(一)
    创建容器#dockerrun--namewarpubuntu#dockerps-aCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES75......
  • Linux基础 - 服务管理 systemctl
     一、UnitSystemd可以管理所有系统资源,不同的资源统称为Unit(单位)。Unit一共分成12种。Serviceunit:  系统服务, 封装守护进程的启动、停止、重启和重载操作......
  • 最近的问题合集 基础系列
    最近的问题合集基础系列数字看长度是arr.length没有()构造器不是必须public修饰字符串与字符数组equals=》false集合删除元素,从尾到头和i--效果一样。因为不用担心元素......
  • 华为eNSP 基础企业级WLAN无线局域网配置
    目标:STA可以扫描并连接到两个ssid,STA可以ping通ip:200.200.200.200步骤:1实现AP与AC之间的连通性。   2在AC上配置与WLAN相关的各项参数3把AP加入到A......
  • Linux基础 - 服务管理 systemd
     一、systemd引入1.1sysv引导启动Linux的启动之前采用init进程。启动服务:servicehttpdstart或/etc/init.d/httpdstartinit这种方法有两个缺点。一是启动时......
  • java基础
    JavaSEjava标识符命名规则:第一个字符:大小写字母,$(美元符),下划线三种其中任何一个都可以。第二个字符:任意字符组合。(不能是特殊字符#,;等)。 Java基本的数据类型:基本类型:......