自己是在工作的时候因为一个任务做完了,也commit到git了正准备push到远程仓库,突然改了需求,改动代码,重新commit一次,然后push到远程。最终我发现在远程仓库的提交记录是多出来两条,也就是这两次commit的记录。当时自己不是很理解,所以想要复现一下这个情况
为了在家里的电脑复现这个现象。步骤如下
1.首先需要配置一个git仓库。那么就需要用到Liunx系统了,同时需要一个虚拟机的软件来完成虚拟机的创建(笔者用的是VMware,自己上网下一个就好)
git仓库配置参考教程如下:https://www.liaoxuefeng.com/wiki/896043488029600/899998870925664
在配置过程中可能会遇到的问题和解决方法:
- Ubuntu系统的镜像地址: https://ubuntu.com/download/desktop
- vmvare使用ubuntu镜像生成linux虚拟机教程: https://blog.csdn.net/weixin_43465312/article/details/100233930
- linux系统创建好后无法通过xshell等工具远程连接解决: https://blog.csdn.net/meihuasheng/article/details/98473918 (注意:ssh功能需要自己安装)
- 配置好git后发现没有.ssh文件的解决: https://blog.csdn.net/zaibeijixing/article/details/104561500。(需要注意的是.ssh不是默认生成在/home/git路径下,当时我自己测试的时候就不是)
- 解决了.ssh文件的问题发现没有authorized_keys文件的解决方法:在对应目录下自己新建一个并且加入公钥即可
- Liunx系统下的终端打开快捷键是ctrl+alt+T,该终端窗口兼容git命令
2.配置好仓库后,在windows随便一个文件夹中从liunx系统里的git仓库拉取代码下来(此时的仓库里是空的)
3.在拉下来这个文件夹中创建一个文件,随便写点啥
4.进行一次 git add +git commit +git push组合拳
5.然后使用xshell在linux系统中对应的代码仓库位置输入命令git log查看日志,会发现只有一次提交记录
(记录截图就不给了,忘记截了)
6.然后在windows里面对文件进行第二次修改,并进行一次git add+git commit组合拳,但是不push远程
7.重复第5步,发现仍然只有一次提交记录
8.然后在windows里面对文件进行第三次修改,并进行一次git add+git commit+git push组合拳
9.重复第5步,会发现提交记录已经有3条了,成功复现
根据以上可以总结出,虽然第二次本地commit但是没有push,不会在远程仓库的log日志里记录。但是如果在第二次的commit基础上更改了文件并继续第三次commit,最终push到远程,那么远程仓库的日志是会记录本地的第二次和第三次commit日志的
晚安IT人!