为什么';t git拉还原文件I';你从我的工作目录中删除了吗?

为什么';t git拉还原文件I';你从我的工作目录中删除了吗?,git,Git,我对git有问题 当我拉动时,我的问题如下: git pull origin example 直到完美!!,然后我做了一个 rm -Rf rootdirectory 然后 然后我再次拉,因为我需要这些文件 git pull origin example 但它不会再次获取根目录 这是一条信息: Already up-to-date. 如何再次使用git pull获取文件?git pull没有改变任何东西的原因是,您没有从远程存储库中提取数据,而是提取更改。git也没有任何改变 Git不是一

我对git有问题 当我拉动时,我的问题如下:

git pull origin example
直到完美!!,然后我做了一个

rm -Rf rootdirectory
然后

然后我再次拉,因为我需要这些文件

git pull origin example
但它不会再次获取根目录

这是一条信息:

Already up-to-date.

如何再次使用git pull获取文件?

git pull没有改变任何东西的原因是,您没有从远程存储库中提取数据,而是提取更改。git也没有任何改变

Git不是一个数据存储。这是一个版本控制系统

但是,如果要签出以前的状态,可以轻松执行以下操作:

git checkout HEAD~1
这意味着您正在将工作副本重置为最新提交之前的状态

但是,如果要完全删除删除文件的提交,也可以这样做:

git reset --hard HEAD~1

我认为你已经习惯了颠覆,如果你删除了文件,然后进行了
svn更新
,这些文件会被重新填充,这对吗?我也是


在git中,您必须执行
git签出
,才能将文件从repo中取出。您也可以使用git reset--hard来更新文件,但这样做会清除工作目录中的任何更改。

这就是git的工作方式。拉取
origin/example
并提交更改(“删除文件”)后,本地回购比
origin/master
提前1次提交:

A---B---C  origin/master
         \
          D  master
其中
D
是您的
删除文件
提交。另一个
git pull
为您提供了
已经是最新的
,因为在
origin/master
上没有可以拉入本地回购的新提交

要“再次获取文件”,您可以撤消上次提交:

git checkout HEAD~1
或者,您可以重置本地存储库以匹配远程存储库:

git reset --hard origin/master

转到删除文件的目录,确保您位于所需的分支上,然后键入“git checkout”。这将带回您在当前分支上删除的文件。

我真的不明白问题所在-您删除了文件,并提交了更改。为什么您希望拉动返回不同的结果?=)我从git开始,但是如果我删除了文件,然后在本地存储库中进行了提交,直到我没有执行推拉操作,TOD应该为我带来远程分支文件。这是真的吗?@MarceloPrueba绝对不是;-)见我的答案克里斯托夫,谢谢!现在我又有了所有的文件!,您是否有了解git更多信息的链接?@MarceloPrueba如果您有github存储库,这应该是一个很棒的互动教程:谢谢Lester!,我习惯于使用svn!我也想使用SVN!Git不是用户友好的。人们在复杂的事物中看到新奇的东西,不管它是否带来了相应的价值。但真正的挑战是让事情变得更简单,而不是其他方式。
git reset --hard origin/master