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的区别

 

posted on 2021-06-08 21:54  一叶舟鸣  阅读(1224)  评论(0编辑  收藏  举报

导航