文件修改后git add+git commit提交一次,但是沒有push到遠程,接着繼續修改文件,繼續git add+git commit提交,並push到遠程倉庫。會發現本地倉庫兩次commit一次push的操作最終會在遠程倉庫生成兩條提交記錄(即兩次commit的提交)


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM