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的區別