如何从HEAD撤消初始git获取?

如何从HEAD撤消初始git获取?,git,Git,正在学习使用git,只是从存储库中执行了一个初始的“git获取” 现在我已经玩完了,正在尝试删除原始获取的文件,然后重新开始。我已经把文件diretoreis搞乱了……我该怎么做?git fetch不会搞乱你的目录,因为它只是从远程存储库(如GitHub)下载内容 使用fetch,更新的分支不是您的本地工作分支,而是使用类似于远程的源(如origin/master或origin/featureA)引用的分支 但是,在你玩的过程中,也许你做了一些你想撤销的改变 那么,让我们首先确保我们掌握了以下要

正在学习使用git,只是从存储库中执行了一个初始的“git获取”

现在我已经玩完了,正在尝试删除原始获取的文件,然后重新开始。我已经把文件diretoreis搞乱了……我该怎么做?

git fetch不会搞乱你的目录,因为它只是从远程存储库(如GitHub)下载内容

使用fetch,更新的分支不是您的本地工作分支,而是使用类似于远程的源(如origin/master或origin/featureA)引用的分支

但是,在你玩的过程中,也许你做了一些你想撤销的改变

那么,让我们首先确保我们掌握了以下要点:

然后,让我们撤销任何潜在的未完成更改。如果需要,您可以将这些更改取回:

git stash -u
再次获取,以确保我们从服务器获取最新信息:

git fetch
最后,让头部指针基本上指向工作目录当前与远程同步的提交:

git reset --hard origin/master

只要您没有使用push命令,您就已经完全准备好了。如果我理解正确,您希望在此目录中重置git的使用。请注意,下一步将完全破坏您的git历史记录,因此不要轻率地这样做

现在,如果确实要这样做,请删除本地git跟踪中的所有文件:

rm -rf .git/
然后可以重新初始化:

git init

Git fetch不会改变您的本地分支或工作副本-您是怎么搞砸的?最初的问题是他是从远程存储库获取的,所以我认为这不是一个好建议,因为他需要重新定义其来源并重新设置基础。可能最好是简单地删除未完成的更改并重置-很难让origin/master获得一个干净的记录一切都很好,git获取已经100%完成。解析增量:100%918/918,完成。但是git reset命令创建了一个失败:致命:参数“origin/master”不明确:未知修订或路径不在工作树中。使用“-”将路径与修订分开,例如:“git[…]-[…]”我猜对于git来说,源/主目录不够清晰?另外,如果我想在本地创建一个分支,比如说,test,那么在使用git branch test之后,如何创建一个子目录来跟踪这个分支?我认为该命令只创建指针,而不是文件系统中的实际文件目录?@NSCoder关于含糊不清的参数origin/master的问题很奇怪,因为如果origin remote设置不正确,我预计在git获取过程中会出现错误。也许你从主分支机构获得的回购协议被取消了?至于你的第二个问题,Git并不是这样工作的……分支只是指针,用一个单独的子目录来跟踪分支是没有意义的。你可以自己创建任何子文件夹或文件。知道第二个问题了。第一个很有趣。我会再挖一点。
git init