git 学习笔记

一、常用 git 命令

1.1 将本地分支的更新推送到远程仓库,并将本地分支与远程分支建立关联关系:
git push -u origin <远程分支名>
1.2 将本地分支的更新推送到远程仓库,并且在推送的同时设置上游(upstream)分支。上游分支是指与本地分支关联的远程分支:
git push --set-upstream origin <远程分支名>
1.3 从远程仓库拉取指定远程分支的更新,并将其合并到指定的本地分支,如果本地分支不存在则会创建,但不会被关联:
git pull origin <远程分支名>:<本地分支名>
1.4 删除本地分支:
git branch -d <本地分支名>
git branch -D <本地分支名>  # 强制删除,即使分支上有未合并的更改
1.5 删除远程分支:
git push origin --delete <远程分支名>

二、commit message 命名规范

commit message 格式:<type>(<scope>): <subject>

type (必须,用于说明 git commit 的类别,只允许使用下面的标识):

  • feat:新功能(feature)。
  • fix/to:修复 bug。
    • fix:产生 diff 并自动修复此问题,适合于一次提交直接修复问题。
    • to:只产生 diff 不自动修复此问题,适合于多次提交,最终修复问题提交时使用 fix。
  • docs:文档(documentation)。
  • style:格式(不影响代码运行的变动)。
  • refactor:重构(即不是新增功能,也不是修改 bug 的代码变动)。
  • perf:优化相关,比如提升性能、体验。
  • test:增加测试。
  • chore:构建过程或辅助工具的变动。
  • revert:回滚到上一个版本。
  • merge:代码合并。
  • sync:同步主线或分支的 bug。

scope (可选,用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同)

subject (必须,commit 目的的简短描述,不超过 50 个字符,结尾不加句号或其他标点符号)

三、git 分支合并发布流程

正常合并:

shell 复制代码
git add .  # 将所有新增、修改或删除的文件添加到暂存区
git commit -m "message"  # 将暂存区的文件提交
git status  # 查看是否还有文件没有发布上去
git checkout master  # 切换到要合并的分支
git pull  # 在 master 分支上拉取最新代码,避免冲突
git merge t231201  # 在 master 分支上合并 t231201 分支上的代码
git push  # 上传合并后的代码

存在合并冲突:

shell 复制代码
git checkout master  # 切换到要合并的分支
git pull  # 在 master 分支上拉取最新代码,避免冲突
git merge t231201  # 在 master 分支上合并 t231201 分支上的代码
# 如果存在合并冲突,在代码中解决冲突
git add .  # 将处理冲突后的代码提交到暂存区
git merge --continue  # 继续合并
git push  # 上传合并后的代码

参考:

https://zhuanlan.zhihu.com/p/182553920
https://blog.csdn.net/Fan0920/article/details/120128883
https://blog.csdn.net/qq_45677671/article/details/122574671

相关推荐
研究是为了理解1 小时前
Git Bash 常用命令
git·elasticsearch·bash
DKPT2 小时前
Git 的基本概念和使用方式
git
Winston Wood5 小时前
一文了解git TAG
git·版本控制
喵喵先森5 小时前
Git 的基本概念和使用方式
git·源代码管理
xianwu5437 小时前
反向代理模块
linux·开发语言·网络·git
binishuaio9 小时前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
会发光的猪。10 小时前
如何在vscode中安装git详细新手教程
前端·ide·git·vscode
stewie611 小时前
在IDEA中使用Git
java·git
晓理紫20 小时前
使用git lfs向huggingface提交较大的数据或者权重
git
我不是程序猿儿1 天前
【GIT】sourceTree的“当前分支“,“合并分支“与“检出分支的区别
git