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 <远程分支名>
1.6 回滚本地和远程的代码:
git reset --hard HEAD^ # 本地代码回退到上个版本
git reset --hard HEAD~n # 本地代码回退到 n 次提交之前
git reset --hard 4f4c49725216d3244a56be58a64764239dc12cef # 本地代码回滚到指定哈希值对应的提交
git push origin HEAD --force  # 强制推送到远程仓库,回滚远程代码

二、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 分支合并发布流程

正常合并:

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

存在合并冲突:

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

四、使用 git rebase 合并多个 commit

五、git 工作区域

  • 工作区:本地工作目录,包含了项目的所有文件和子目录。
  • 暂存区:暂存区本质是一个文件,它作为临时存储区域,存放了已经修改但还未提交的改动。
  • 版本库:保存了所有提交的数据,它包含一个 HEAD 指针,指向当前分支的最新提交。
  • 远程仓库:远程服务器上的版本库。

在这里插入图片描述

在这里插入图片描述


参考:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值