Git—9、指令git rebase和git commit --amend

git rebase
  • 1.核心作用
    (1)将一个分支的提交「复制」到另一个分支的末尾,形成线性提交历史。
    (2) 常用于保持提交记录干净(如开发分支同步主分支更新后,通过 rebase 避免产生合并提交)。
  • 2. 与 git merge 的对比
    (1) git merge:创建一个新的「合并提交」(merge commit),保留分支分叉的历史。
    (2)git rebase:通过复制提交到目标分支,保持线性历史(无合并提交)。

举例

  • 将主分支提交全部放到自己分支的后面。假设当前在 feature 分支
    git checkout feature
    git rebase main # 将 main 分支的更新应用到 feature 分支
    效果:feature 分支的提交会被复制到 main 分支的最新提交之后。
git commit --amend
  • 1. 核心功能
    (1)修改最近一次提交的提交信息或提交内容。
    (2)不会创建新的提交,而是直接替换上一次提交(本质是创建一个新提交并让 HEAD 指向它)。

举例
(1)替换提交信息
git commit --amend -m "新的提交信息" # 直接替换提交信息

git commit --amend # 打开编辑器修改现有提交信息
如果在命令窗口直接打git commit --amend,会直接打开vim编辑模式,届时可以对提交信息进行更改,使得符合提交规范。
(2)追加遗漏文件
git add new_file.txt # 添加遗漏的文件
git commit --amend --no-edit # 追加到上次提交,不修改提交信息

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容