哇哦,Git居然还能这样玩~

简介: 哇哦,Git居然还能这样玩~

本文的主要围绕着下面这些问题展开的,在阅读之前可以先自己思考一下问题的答案是什么?

  • • 如何修改以前的message信息?
  • • 如何合并连续的以及不连续的commit记录?

以下操作适合提交到本地仓库,未推送到远程仓库时使用,否则多人合作开发时,可能会对他人带来问题。

开始前需要了解的的基础操作:

  1. 1. 交互编辑界面,点击i键进入编辑模式
  2. 2. 点击ESC键退出编辑模式,进入命令行模式
  3. 3. 命令行模式,点击:进入末行模式,输入wq敲回车,可以保存并退出
  4. 4. rebase交互界面和修改message界面都会用到上述基础操作

修改当前分支最后一次提交的message

直接使用下面的命令即可,这里会改变提交记录的哈希值

git commit --amend

修改许久以前的 commit 的 message

三步走:找出上次提交记录 -> 编辑提交记录 -> 编辑提交信息

1、确定需要改变 message 的 commit,例如下图画圈的 commit,我们需要使用它上次的 commit,即使用2f001c07fee6d3357da689b0fced90de69bae61d

image.png

2、使用 rebase 操作,然后会进入交互操作,编辑涉及到的 commit

git rebase -i 上一次commit的记录号

然后点击i键进入编辑模式,修改指定 commit 的提交信息,注意需要修改提交信息的 commit 使用reword,不需要改变的使用pick,然后点击ESC键进入编辑器的命令行模式,输入:wq,回车保存并退出

image.png

3、接着会进入 message 的编辑的界面,这时候可以修改之前提交的 message 了;i键进入编辑模式,最后点击ESC键进入命令行模式,输入:wq,回车保存并退出

image.png

连续多个commit整理成一个

1、假设把c3aa78f5dfd4ee合并成一次提交记录,先找到前面的提交记录2f001c07fee6d3357da689b0fced90de69bae61d

image.png

2、使用rebase命令,交互编辑界面,其中一个记录作为合入提交记录,其余合并掉的记录使用s,点击ESC键进入编辑器的命令行模式,输入:wq,回车保存并退出

git rebase -i 2f001c07fee6d3357da689b0fced90de69bae61d

image.png

3、然后进入提交记录的 message 修改界面,修改保存即可完成合并

image.png

4、完成合并以后的记录如下所示

image.png

间隔的几个commit整理成一个

操作类似于连续多个commit整理成一个,使用git rebase -i 记录号,进入交互界面,细节有些不同的地方:

  1. 1. 需要作为基础提交的放在最上面,pick
  2. 2. 需要合并的提交,挑选出来,紧接着基础提交,命令 s
  3. 3. 其他提交放在下面,接着使用pick

1、我们现在把aef5fdedce5bed6414合并在一起

image.png

2、使用rebase命令,交互编辑界面,然后根据开始的提示操作

git rebase -i 2f001c07fee6d3357da

image.png

3、接着会进入修改message的界面

image.png

4、最后完成提交记录的合并如下所示

image.png

目录
相关文章
|
安全 Linux 开发工具
|
Java 开发工具 git
|
7月前
|
存储 缓存 开发工具
Git介绍及使用
Git介绍及使用
96 5
Git介绍及使用
|
Unix Linux Shell
|
Linux 项目管理 开发工具
如何优雅地使用git?
如何优雅地使用git?
|
存储 Linux 开发工具
git相关总结大全
git相关总结大全
|
安全 Unix Linux
|
关系型数据库 MySQL 应用服务中间件
Git相关知识
Git相关知识
199 0
|
开发工具 git Windows
Git的使用
Git的使用
121 2
|
网络安全
Git
Git安装
100 0