【问题标题】:Remove Git repository, but keep all files删除 Git 存储库,但保留所有文件
【发布时间】:2014-04-01 20:33:07
【问题描述】:

在我使用 Linux 的过程中,我决定将我的主目录中的所有内容都放入源代码控制中是个好主意。我不是问这是否是个好主意——我问的是如何撤消它。

删除存储库的原因是我最近安装了 Oh My Zsh,我非常喜欢它。问题是我的主目录后面有一个很大的git:(master),我只是不喜欢它。

所以我想做的是删除 git 存储库本身,以便不再显示 git:(master)而不删除我的所有文件。

【问题讨论】:

  • 虽然问题本身已经明确说明,但对我来说,删除存储库以摆脱部分 shell 提示完全没有意义......我认为这里有问题。会不会是 X-Y 问题?当然,这不会影响这里的实际问题 - 但可以发现 OP 的“真正”潜在问题,例如“如何仅为某些存储库禁用 git 提示?”

标签: linux git


【解决方案1】:

只需删除(或重命名).git 子目录。该子目录是整个存储库。这不会删除您的文件,但会删除它们的历史记录。

此外,可能还有像 .gitignore.gitattributes 这样的文件不再需要。

在删除/重命名.git之前,确保所有文件都存在于工作树中。

【讨论】:

    【解决方案2】:

    您的存储库位于 .git 目录中,您可以轻松删除它。但如果只是提示打扰您,则搜索 PROMPT 在您的环境中获得新值的位置并将其修改为其他内容就足够了。

    【讨论】:

    • 简单地删除提示是我的第一直觉。我找到了字符串的设置位置,~/.oh-my-zsh/lib/git.zsh 在最顶部,但我不确定如何修改它。我以后可能会重温这个。
    【解决方案3】:

    删除存储库中的目录.git 会删除历史记录,并保留当前已检出的文件 - 它不会保留所有文件.

    警告:这可能不是您所需要的!

    历史记录包含早期状态的文件、在某个时间被删除的文件以及其他分支,包含类似的最新状态与当前签出的文件相似或完全不同的文件。

    这意味着,在一般情况下,删除 .git 会影响存储库树中较早的文件,以及当前 - 在最新版本中 - 存在于其他分支中的文件。 所有这些也将被删除!

    建议仅删除 .git 的答案仅适用于最简单的情况,
    自创建存储库以来,您仅将文件添加到 master 分支,并且 master 已签出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-29
      • 1970-01-01
      • 2013-03-24
      • 2014-01-12
      • 2013-11-01
      相关资源
      最近更新 更多