Git push成功后,遠程倉庫將文件顯示為已刪除,且找不到push的文件


git推送遠程成功后,

在遠程服務器上,並未看到推送的文件,且

git status  出現如下:

# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       deleted:    1.txt
#       deleted:    2.txt

  如何才能看到推送的文件?    

1、輸入:git log

commit 8fb40da4dee26b4dbaa424eb5c60ee9d40c3ad30
Author: an <12345678@163.com>
Date:   Mon Jun 7 21:27:00 2021 +0800

    第一次提交1.txt 2.txt

2、輸入:git reset --hard 8fb40da4dee26b4dbaa424eb5c60ee9d40c3ad30

3、輸入:ls         (即可看到推送上來的文件) 

 

      Git push成功后,遠程倉庫將文件顯示為已刪除,且找不到push的文件,原因

      如果使用了git init初始化,則遠程倉庫的目錄下,也包含work tree,當本地倉庫向遠程倉庫push時,

如果遠程倉庫正在push的分支上(如果當時不在push的分支,就沒有問題), 那么push后的結果不會反應在work tree上, 即在遠程倉庫的目錄下對應的文件還是之前的內容,

必須得使用git reset --hard 回退到此時HAED知道的位置才能看到push后的內容。
      辦法

     如果服務器倉庫在master分支上,且在本地master分支剛好向服務器master分支上push了。就使用git reset --hard 版本號(前6位或完整版本號都行)

 

參考

Git使用基礎---git init 與git init --bare的區別

 


免責聲明!

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



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