git-删除文件后再次将其拉入

git-删除文件后再次将其拉入,git,Git,试图在删除文件后重新拉入文件无效。第二次拉取后没有显示任何文件 为什么git不再次将文件拉入 谢谢Git不会再次将文件拉回,因为您之前已经拉回了文件,并且本地的参考文件都是最新的 事实上,由于您在删除文件后进行了提交,因此您的本地主分支应该比原始分支早1次提交(如果执行git状态,则该提交应该可见) 如果您想取回文件,您可以根据需要使用或类似: git reset --hard HEAD^ 运行此操作后,git假装您从未进行过更改并创建了提交。当您还没有将提交推回到存储库时,这非常有用。如果不

试图在删除文件后重新拉入文件无效。第二次拉取后没有显示任何文件

为什么git不再次将文件拉入


谢谢

Git不会再次将文件拉回,因为您之前已经拉回了文件,并且本地的
参考文件都是最新的

事实上,由于您在删除文件后进行了提交,因此您的本地主分支应该比原始分支早1次提交(如果执行
git状态
,则该提交应该可见)

如果您想取回文件,您可以根据需要使用或类似:

git reset --hard HEAD^
运行此操作后,git假装您从未进行过更改并创建了提交。当您还没有将提交推回到存储库时,这非常有用。如果不小心删除了实际需要的提交,可以使用查找它

git revert HEAD

这将创建一个新的提交,该提交将还原所述提交的更改。当您已经推送了错误提交,并且不能假装它没有发生时,这非常有用。

Git已经拉入了文件。它们不会显示,因为您当前的提交已删除它们。您可以使用
checkout
命令返回上一次提交,而无需还原/重置此提交

git checkout head^
或者您也可以签出上游的提交:

git checkout blah/master
它会让你处于一种“超脱的头脑”状态。您可以从该提交创建一个新分支,如下所示:

git checkout -b newbranch
通过签出master,您始终可以返回到之前所做的提交:

git checkout master

如果你想撤销删除,那么你可以使用
git reset
:我担心这个问题没有任何提示,作者读了一些关于git的内容,尤其是
git pull
@DukeDougal,正如帕维尔已经指出的,你的问题显然表明你没有阅读任何文档。一个显示没有研究成果的问题将被否决。@DukeDougal检查我的答案,让我知道这是否有帮助……前两个片段导致头部分离,这绝不是一个初学者工具,最后一个让用户回到他所问的情况。这些正是让人们学习的东西。我不关心他的git技能水平。这就是他的问题的答案。如果答案是错的,请告诉我。此外,正如你所说,最后一个命令会让他回到这个情况,因为如上所述,它应该做到这一点。当一个人的知识库与他真正想要的东西无关时,将其置于一种超然的状态,在我看来,这不是帮助他学习的好方法。除非我误解了这个问题,否则OP希望从错误的提交中恢复删除文件,不要执行无用的练习,然后返回错误状态并删除文件。在我看来,现在的答案涵盖了使用
git checkout-b newbranch HEAD^
git checkout-b newbranch blah/master
而不使用分离的HEAD可以做什么。我承认这个问题不是很清楚,但我(和穆的)解释似乎与你的不同。@Pavel感谢史诗般的编辑,非常感谢:)