【Git游戏】提交的技巧

修改历史的提交

  • rebase

    通过git rebase -i 将要修改的提交提到最前端,

    然后修改,再通过git commit --amend提交该记录,最后通过git rebase -i 在替换会原始的位置

    (该过程中有可能会产生rebase confict)

  • cherry-pick
    cherry-pick 可以将提交树上任何地方的提交记录取过来追加到 HEAD 上(只要不是 HEAD 上游的提交就没问题)。

Tag

分支只是指向某个提交记录

提交树是提交记录以链式结构构成的

分支很容易被人移动
git tag v1 commitID 给commitID所对应的提交打上Tag标记

如果不指定提交记录,Git 会用 HEAD 所指向的位置。

Describe

TODO

多分支Rebase

git rebase A B

这条命令我总结为后来居上(这条命令中A分支相对与B分支在前),结果是B分支的提交记录相对与A分支的提交记录新

(A变成B的基础分支,变基大概是这个意思吧)

注意:两个分支指向的提交记录链不同之处从分支点之后开始的,因此rebase的时候也是提交记录链从不同之处开始变基的,并且会跳过相同的提交记录,如果有的话。

git rebase A

表示 A作为当前分支的基础

git branch

git branch 分支名 commitID

在commitID上创建分支

git merge 分支名

分支名指向的提交记录合并到当前分支

git cherry-pick

一图胜过万语

相关推荐
9***Y4810 小时前
终于解决了!Git拉取代码冲突的处理
git
南屿欣风11 小时前
Idea中Git切换分支,如何确保代码不丢失。
git
不一样的故事12611 小时前
将 Git 远程仓库的地址从 HTTP 修改为 SSH,
git·http·ssh
n***i9512 小时前
终于搞定了!Git分支回滚的正确操作
git
A***279512 小时前
终于搞定了!Git拉取代码时权限被拒绝
git
秦jh_12 小时前
【git】多人协作
git
小坏讲微服务15 小时前
Docker Compose搭建Git仓库私服上传微服务
分布式·git·docker·微服务·容器·springcloud·springalibaba
七号练习生.c1 天前
Git常用命令速查
大数据·git
大筒木老辈子1 天前
Git笔记---其他常用操作
笔记·git
小二·1 天前
Git 高频操作命令大全(分类整理 + 修正说明)
大数据·git·elasticsearch