如何重置“本地”Git仓库?

69

我试图在推送时忽略一些文件夹,结果仅将.gitignore放入存储库。现在想要“重置”我的存储库(通过重置我的意思是删除我应用的所有规则并清除提交区域),以便在此之后可以添加所有文件并删除我不想要的文件夹。有什么帮助吗?

3个回答

159
您可以直接删除您的.git文件夹并重新开始。
rm -rf .git
git init

这将保留当前的 .gitignore 文件,新的 git 仓库仍会遵循它。该文件可以被删除,或者删除其内容使其成为空白文件。


4
很遗憾这是唯一的做法。如果 git init 有一个 -f 标志来执行它,那就太好了。 - B Seven
4
在Windows上执行 rmdir /s /q .git 命令,该命令将删除名为 .git 的文件夹及其所有子文件夹和文件。 - shoe
@Morgan 嘿,我知道我来晚了,这里的“-rf”代表什么?我在互联网上找不到任何有关它的帮助! - DevMoutarde
2
@DevMoutarde,-r 表示递归(即所有子文件夹和文件),-f 表示强制删除,因此不会询问只读文件等。更多信息请参见:http://man7.org/linux/man-pages/man1/rm.1.html。 - Morgan

10
如果您想重新创建存储库,则只需删除.git目录。

然后,您可以自由地使用“git init”重新开始。 - UrbanConor

2

如果您不需要保留历史记录,只需从代码库中删除文件并提交更改即可。如果您想要恢复到早期的提交版本,则可以使用git reset命令。

git reset --hard HEAD^

以下是更多信息 如何在Git中撤消最近的提交?


1
非常糟糕的想法,因为它会从远程代码库中拉取代码。 - user3072843
3
警告非专业用户:使用此命令时一定要非常小心,只有在您对自己正在做的事情非常确定时才能使用。这将删除所有未跟踪的文件,并且根据您的特定情况可能会造成严重破坏。请勿轻易使用。 - rbndeveloper
@rbndeveloper 当然你需要知道你在做什么,但这也适用于 GUI 用户,只需按你理解的按钮即可。我使用并推荐命令行工具及其手册页。 - Simson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接