目录
问题现象:
问题分析:
方法一:从commit信息历史记录中选取自己想要的commit信息
总结:
方法二:直接获取commit信息历史记录中最新的commit信息
总结:
解决方法:
方法一:从commit信息历史记录中选取自己想要的commit信息
方法二:直接获取commit信息历史记录中最新的commit信息
问题现象:
今天算是很好地(虽然不算非常完美)解决了一个困扰我许久的小问题:
使用IDEA开发工具提交代码时,如何获取最新的commit信息历史记录?
问题分析:
本文中我用的IDEA开发工具版本号是2022.2.3:
在开发过程使用IDEA开发工具进行代码commit提交的git操作时,有时候(不是一定)会出现commit信息居然是上上次commit时填写的信息,举例如下:
项目的commit历史记录中最近的两条记录信息:
当我修改代码并进行commit提交时,发现Commit Message窗口的commit信息还停留在上上次commit时填写的信息,而大部分时候进行代码提交时,Commit Message窗口的commit信息则是上次commit时填写的信息。
我知道IDEA的Commit Message窗口会自带历史记录和获取功能,每次进行代码提交的时候,都会去commit信息的历史记录中去获取最新的一次commit信息,然后返回到Commit Message窗口上,但偶尔会失灵。
在Commit Message窗口点击右边的“时钟”图标,即可查看IDEA自带的commit信息历史记录:
接下来说说我的测试和分析过程。
首先关于文章开头提到的那个问题,我个人觉得必须达到“当我每次打开commit窗口时,Commit Message中显示的都是最新的commit信息历史记录”(而不会是上上次或者更早的记录),这样才算是最完美的解决;但是目前还未探索达到该目标的方法,不过我也发现了很方便和非常方便的两种替代方法。
方法一:从commit信息历史记录中选取自己想要的commit信息
如上图所示,在Commit Message窗口点击右边的“时钟”图标,即可查看IDEA自带的commit信息历史记录,此时选择我们想要的commit信息,即可把信息复制到本次Commit Message窗口中去。
总结:
当commit信息历史记录中,有某次的commit信息是自己本次代码提交想要复制的commit信息时,建议使用该方法,可以节省打字时间。
方法二:直接获取commit信息历史记录中最新的commit信息
如下图所示,勾选Amend Commit选项,即可自动拉取最新的commit信息到本次Commit Message窗口中去:
如果此时取消勾选Amend Commit选项,则Commit Message 窗口的commit信息会回退至刚进行本次代码提交时(刚打开该界面时)的commit信息,但这个回退机制有个条件:
必须是本次提交代码过程中,未手动编辑过Commit Message 窗口的commit信息(就是没在里面打过字),否则就无法回退,如下:
可以看到勾选Amend Commit选项后,commit信息并未发生变化,因此IDEA把输入的commit信息当成了最新的commit信息了;因此取消勾选时也无法回退了。
总结:
当想要直接使用上次的(commit信息历史记录中最新的)commit信息时,建议使用该方法,可以节省打字时间。
解决方法:
方法一:从commit信息历史记录中选取自己想要的commit信息
点击Commit Message窗口点击右边的“时钟”图标:
选取commit信息:
选取后:
方法二:直接获取commit信息历史记录中最新的commit信息
勾选Amend Commit选项:
勾选前:
勾选后: