自己是在工作的時候因為一個任務做完了,也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人!