Git使用心得&理解

1.Git的分支本质是一个名称为分支名,指向最新提交的一个指针, 每次提交都会更新header指向最新提交的hash;

2.Git的提交是一个链表结构,除了首次提交,后续的每次提交都至少有一个父提交(parent),如果有两个父提交,说明进行了一次merge commit.

3.rebase本质上也是完成一次合并动作,和merge的区别就是,将最新的提交放在base分支的最新提交的前面,保证提交的简洁,不会有很多支线.因此能merge的地方都可以用rebase,需要注意的是,不要针对已经推送远程的提交进行

4.rebase的实际使用场景:

1)最常用:git pull --rebase,从远程拉取代码时,会执行merge,可以以rebase的方式

bash 复制代码
# 拉取远程更新,并把本地提交放在最前面
git pull --rebase

# 简写
git pull -r
  1. 把一个分支 rebase 到另一个分支,
bash 复制代码
# 当前在 feature 分支,把它 rebase 到 main 上
git checkout feature
git rebase main

# 或者一步到位
git rebase main feature

3).交互式 rebase:git rebase -i,这是最强大的功能,可以整理你的提交历史

bash 复制代码
# 对最近 3 个提交进行操作
git rebase -i HEAD~3

# 或者从某个 commit 开始
git rebase -i <commit-hash>

注意:只 rebase 你一个人的分支,永远不要 rebase 别人也在用的分支。

相关推荐
颜颜yan_42 分钟前
Git Cola 鸿蒙 PC 版适配全记录:从 Qt 桌面工具到 ArkTS 原生应用
git·qt·harmonyos
知福致福2 小时前
【技术复盘】Git 分支污染与提交污染事故排查与解法
大数据·git·elasticsearch
ai安歌3 小时前
Git Extensions 鸿蒙 PC 适配全记录:从 WinForms 客户端到 ArkUI 原生工作台
git·华为·harmonyos
那年窗外下的雪.5 小时前
AIDC 学习日志|第 25 天|设备输出反推、MAC Flapping 与 EAD 撤销
前端·网络·git·学习·macos
末央&17 小时前
GIT工具的基础指令与使用
git
彧azz21 小时前
Git 入门实操实例:从安装到远程仓库全流程
大数据·笔记·git·学习·elasticsearch
idealzouhu1 天前
Git 命令全景解析:基于数据流向的认知框架
git
星e雨1 天前
Window Git安装
git
旧梦星轨1 天前
Git Flow 工作流实践
git·gitee·gitlab·github