如何重新启动一个Git仓库

13
我刚才意识到对.gitignore的更改不会“追溯”地影响存储库,而是会影响未来的'git add *'命令等。一旦文件在存储库中,它们必须手动移除。
此时,我想完全删除这个存储库,并重新开始(保存我的配置等)。
这是否容易实现?还是会引起重大问题?我可以备份 - 然后删除.git文件夹 - 并重新开始吗?

1
为什么您不喜欢直接从源代码控制中删除文件的想法? - niculare
有许多文件嵌套在深层文件夹中。 - JimH
这个回答解决了你的问题吗?如何重新启动git仓库? - Vega
3个回答

19
我会尽力帮助您进行翻译。以下是需要翻译的内容:

我经常这样做。进入工作目录,如果您使用的是Linux或Mac,请执行

rm -rf .git

然后我执行一个。
git init
git add .
git commit -m "first time load"

那就是你所需要的全部


15
可以备份-然后删除.git文件夹-重新开始吗?
是的,就是这样。对于一些非常奇特的设置,可能会将.git文件夹放在工作目录之外;但除此之外,.git文件夹包含有关git的所有信息。如果您删除它,您将删除所有历史记录、git元数据等内容。
如果您有远程,则与它们的链接将丢失,因为它存储在相同的.git文件夹中。远程本身,例如您的Gitlab服务器,显然并没有消失。因此,如果您在干净的环境中重新添加相同的远程,则会导致历史记录重新出现,这可能会导致合并冲突。
编辑:对于那些可能没有阅读整个问题的人:警告:这将删除您的所有git历史记录

谢谢你的帮助。我原以为你可以简单地删除这个文件夹,但后来看到另一篇帖子说这会是一个大问题。 - JimH

4

处理这个问题的最佳策略是使用git archive命令。它将在tar档案中导出您的树的未版本化版本。选择您想要导出的分支,并在您的存储库内运行以下命令:

git archive master | tar -x -C ~/target/directory

您可以干净地删除您的存储库文件夹,然后提取您的归档文件以重新开始。最后,您可以按照以下方式在提取的文件夹中创建一个新的存储库:

git init

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