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 别人也在用的分支。

相关推荐
可乐_不渴18 小时前
【Linux】 项目自动化构建工具makefile&& 版本管理Git&&第一个程序
linux·git·自动化·1024程序员节
lzx_00221 小时前
Linux 开发工具(六) 版本管理器git的简单使用
git·1024程序员节
jiangliushi61 天前
GPT-6.1 Sol 免费用:git status 里中文文件名变成一串数字乱?条命令改好
git·codex·1024程序员节
import_random2 天前
[git]只有git,没有github, 如何工作
git·github
import_random2 天前
[git]先创建远程仓库or先创建本地项目
git·github
Linux实战笔记2 天前
rebase 变基引发提交哈希重写与指针机制分析
git·rebase·提交哈希·分支模型·代码合并
小稀土1232 天前
私有化研发协同系统并行期:旧 Jira 与新 Git 并存 6 条数据规则
git
Madison-No72 天前
Git版本控制工具(二)
git
Brookty2 天前
Git 与 GitHub|第一阶段:仓库、版本历史与 Git 对象模型(上篇)
git·github
Kimnol3 天前
我的第一次 Git 贡献:从 fork 到合并 PR #3130
git