【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

一图胜过万语

相关推荐
三毛的二哥1 天前
git:git worktree多任务并行开发
git
Yiyi_Coding1 天前
Git 版本管理重要撤回操作
git
wanhengidc1 天前
服务器租用的好处
大数据·运维·服务器·游戏·智能手机
a里啊里啊1 天前
Git常问面试题
git
达子6661 天前
Git中文文件名乱码显示SHA-1 哈希值
git·算法·哈希算法
摆烂且佛系2 天前
十分钟了解Git Cherry-Pick
git
星渊澈2 天前
从github上git clone 比较慢,如何解决。。
git·github
魔都吴所谓2 天前
【Ubuntu】离线环境下Git LFS(deb包)安装与验证完整教程
linux·git·ubuntu
REDcker2 天前
Git worktree:多工作区并行开发与实践
git·worktree
lifewange2 天前
Git版本管理
大数据·git·elasticsearch