为什么git是;“拉原点主控”;不在本地repo中重新创建所有远程文件?

为什么git是;“拉原点主控”;不在本地repo中重新创建所有远程文件?,git,Git,我是git新手,但我已经能够在共享驱动器上创建一个裸远程存储库,以便与同事共享。我创建了一个test.txt文件,将其添加到本地存储库,将其提交到本地存储库,然后将其推送到远程存储库。然后我删除本地存储库中的test.txt文件 此时,我想将test.txt文件从远程存储库复制到本地存储库中。如果删除本地存储库并克隆远程存储库,则test.txt文件会显示得很好。但是,我不知道如何在本地存储库中重新创建test.txt文件,而不完全删除存储库并重新开始 根据我所读到的内容,我认为我应该能够运行g

我是git新手,但我已经能够在共享驱动器上创建一个裸远程存储库,以便与同事共享。我创建了一个
test.txt
文件,将其添加到本地存储库,将其提交到本地存储库,然后将其推送到远程存储库。然后我删除本地存储库中的
test.txt
文件

此时,我想将
test.txt
文件从远程存储库复制到本地存储库中。如果删除本地存储库并克隆远程存储库,则
test.txt
文件会显示得很好。但是,我不知道如何在本地存储库中重新创建
test.txt
文件,而不完全删除存储库并重新开始

根据我所读到的内容,我认为我应该能够运行
git pull origin master
,但是当我这样做时,
test.txt
文件不会重新出现在我的本地存储库中

我仍然对git耿耿于怀,所以我可能没有正确地思考这个问题。我想我应该能够将本地回购“重置”为远程回购,然后重新开始,而无需再次克隆它

更新: 我刚刚尝试了这个方法,它似乎起了作用:
git reset--hard origin/master
。不确定这样做是否正确,或者确切地说是什么意思

当您在本地删除“提交的”文件时,计算机上的git会将其作为更改进行跟踪。因此,
git pull
不会覆盖您的本地更改,除非您要求它这样做

您可以在删除之后、拉取之前和拉取之后运行命令
git status

如果您想用远程存储库重置本地存储库,您需要的命令是
git reset--hard HEAD

我还建议您使用这个很棒的工具来帮助您开始使用git

当您在本地删除一个“已提交”的文件时,计算机上的git会将其作为一个更改进行跟踪。因此,
git pull
不会覆盖您的本地更改,除非您要求它这样做

您可以在删除之后、拉取之前和拉取之后运行命令
git status

如果您想用远程存储库重置本地存储库,您需要的命令是
git reset--hard HEAD


我还建议您使用这个很棒的工具来帮助您开始使用git

git reset——hard HEAD
做到了这一点。谢谢我不清楚说
HEAD
origin/master
之间的区别。很高兴能提供帮助,git花了一段时间让你清醒过来,但它太棒了。。。看看这个答案,了解head是什么:同时看看git pull和git reset的手册页
git reset--hard head
做到了这一点。谢谢我不清楚说
HEAD
origin/master
之间的区别。很高兴能提供帮助,git花了一段时间让你清醒过来,但它太棒了。。。看看这个答案,了解head是什么:同时看看git pull和git Reset的手册页如果你是git新手,我建议避免使用
git pull
。pull命令是为了方便起见:它首先运行
git fetch
,然后运行另一个git命令,通常是
git merge
。问题是它运行第二个命令的方式:(1)模糊了Git的工作方式,使它更难学习;(2) 如果第二个命令爆炸,你将无处可去,因为它最终会爆炸。如果您自己运行第二个命令,您可以看到发生了什么,从而了解如何修复它。(第3项,“pull”充满了bug,大部分是由Git 2.0修复的…)如果你是Git的新手,我建议避免使用
Git pull
。pull命令是为了方便起见:它首先运行
git fetch
,然后运行另一个git命令,通常是
git merge
。问题是它运行第二个命令的方式:(1)模糊了Git的工作方式,使它更难学习;(2) 如果第二个命令爆炸,你将无处可去,因为它最终会爆炸。如果您自己运行第二个命令,您可以看到发生了什么,从而了解如何修复它。(第3项,“pull”充满了bug,大部分由Git2.0修复…)