Git pull表示';一切都是最新的';

Git pull表示';一切都是最新的';,git,github,Git,Github,我和几个朋友在做一个项目,我们正在把所有东西上传到git。 起初一切正常,但在我的本地存储库中我删除了一些文件,这些文件仍然存在,所以我尝试了 git pull 只是,因为我删除了那个文件夹,它们不会再回来了。Git说“一切都是最新的”,但事实并非如此。 另一位提问者也有同样的问题,在一篇评论中有人说他应该使用 git checkout HEAD A是的,有些文件是我一直在寻找的,但是(我想)那只是签出,它们不在我的文件系统中。我怎样才能解决这个问题 总的来说:我想一定有一个命令可以更新所有

我和几个朋友在做一个项目,我们正在把所有东西上传到git。 起初一切正常,但在我的本地存储库中我删除了一些文件,这些文件仍然存在,所以我尝试了

git pull
只是,因为我删除了那个文件夹,它们不会再回来了。Git说“一切都是最新的”,但事实并非如此。 另一位提问者也有同样的问题,在一篇评论中有人说他应该使用

git checkout HEAD
A是的,有些文件是我一直在寻找的,但是(我想)那只是签出,它们不在我的文件系统中。我怎样才能解决这个问题

总的来说:我想一定有一个命令可以更新所有内容


谢谢

您缺少的关键点是Git将删除本地文件视为对工作副本的修改。Git尽可能不撤消您对工作副本所做的更改。当您运行
git pull
时,遥控器将合并到当前分支中。由于在合并中没有任何事情要做,因此合并不会影响修改(删除)的文件,Git会将它们删除

当您使用
git签出头
时,您是在告诉git您想放弃更改(取消删除)以前删除的文件


如果您已经提交了这些文件的删除(因此告诉Git您希望保留该更改),那么这个问题的答案将完全不同。

从您的评论来看,您可能已经提交了删除的更改

试试这个

git reset --hard HEAD~1
git pull origin branchname  OR git checkout HEAD
通常情况下,
git reset--hard HEAD~1
应该小心使用,因为它会将本地提交删除一次。但是如果你想要删除的更改,而你不关心修改,那么这是一个好主意


我希望这有帮助。:)

git会将尚未提交的本地文件系统更改视为“尚未发生”。git在做什么?管理您的历史记录。提交更改(添加文件、删除文件、更改文件)时,您正在工作副本的历史记录中记录该状态

git pull和git push所做的是“获取远程发生的所有更改的副本”和“告诉远程发生的更改”。当您执行git拉取时,您正在接受您在本地不知道的任何提交,并将它们应用到您的存储库中。如果没有新的提交被推送到该远程设备,无论您拉了多少次,在第一次之后,您将始终收到“一切都是最新的”消息


这听起来像是您对本地工作副本进行了更改,并希望将其还原为远程工作副本上存在的状态(在本例中为GitHub)。你可以做几个选择。如果尚未提交代码,
git checkout HEAD
将要做的是将任何跟踪文件的状态恢复到上次提交的状态(您也可以通过
git checkout--.
实现这一点)。这样做的目的是将文件恢复到当前分支上的最后一次提交。如果已经进行了要删除的提交,可以使用
git revert
。如果查看
git日志
并找到要使用的日志之后的第一次提交,则可以使用
git revert
,这样做的目的是将所有文件更改回您提供的SHA之前的状态,然后对其进行提交。如果您刚才执行的恢复是错误的步骤,那么这还可以为您提供另一个提交以进行恢复。

您可能会得到一个“一切都是最新的”,因为拉取实际上是一个在合并之后的获取,git可以告诉您的获取是最新的
git reset——硬头~1
确实有效,但正如Abibullah提到的,您应该小心使用它。你也可以
git clone
或者拉到一个新的目录/存储库。

我已经尝试了很多东西,所以可能我已经提交了它。但是在线一切都还可以,有没有可能我只是拿回在线代码=如果你不知道你是否已经提交了一些东西,那么我建议你通过一些在线Git教程(有很多可供选择)来熟悉Git命令。如果你不能准确地描述你做了什么,我们就很难诊断和帮助你解决问题。好吧,我知道这些命令,只是不知道我做了什么和没有做什么。问题解决了,谢谢!谢谢你解释到底发生了什么事!重置解决了问题,但下次我会使用它,我很高兴它有帮助。我有时也这样做我这里有一个有线情况,我已经成功地将所有更改从本地pc推送到远程pc,但当我登录到我的远程服务器并执行git pull时,它说,这些更改已经是最新的。所以我决定在远程服务器中添加新文件,然后进行git添加,然后git提交,然后当我尝试从远程服务器推送时,它说有我没有的更新,当我拉它时,它说所有内容都是最新的,现在我很困惑,请提供帮助