如何注销一个目录作为 Git 根目录?
How do I unregister a directory as Git root?
我尝试使用 git bash 来推动项目,但我无法理解一堆错误。我从项目文件夹中删除了隐藏的 .git 文件。现在 Android Studio 显示此错误消息:
Invalid VCS root mapping The directory is registered as a
Git root, but no Git repositories were found there.
我现在想 git 直接从 Android Studio 推送。
您需要以某种方式重新创建 git 存储库。那个隐藏的 .git
文件夹(不,它不是文件)是您的 git 数据库。这就是 git 的工作原理。没有服务器维护你的回购状态。 Git 纯粹是基于磁盘的存储库。
安装新工具(如 git bash 或 IntelliJ 或 SourceTree)不会为同一个项目创建多个不同的 git 数据库。 .git
文件夹是所有 git 相关工具共享的 唯一 数据库。
你有几个选择:
你提到了 "push" 所以我假设有一个你从中获取代码的远程存储库。如果是这样,您可以再次克隆存储库。
如果您想保存当前的工作文件并尝试再次推送它们,那么您可以克隆到另一个目录,然后将所有文件复制到新的存储库。 Git 会注意到差异,然后您可以提交文件。您将丢失您的提交历史记录,但至少您仍然拥有最新的更改。
或者,您可以克隆到另一个目录,然后将该 .git 文件夹移动到当前项目。 Git 不会知道您移动了那个 .git 文件夹,因为从 git 的角度来看,.git 存储库突然获得了很多未提交的文件。
如果没有远程存储库或者您刚刚创建了一个新的空远程存储库(例如在 github 上),那么很抱歉您丢失了整个存储库提交历史。您唯一的选择是从 git init
重新开始
我尝试使用 git bash 来推动项目,但我无法理解一堆错误。我从项目文件夹中删除了隐藏的 .git 文件。现在 Android Studio 显示此错误消息:
Invalid VCS root mapping The directory is registered as a Git root, but no Git repositories were found there.
我现在想 git 直接从 Android Studio 推送。
您需要以某种方式重新创建 git 存储库。那个隐藏的 .git
文件夹(不,它不是文件)是您的 git 数据库。这就是 git 的工作原理。没有服务器维护你的回购状态。 Git 纯粹是基于磁盘的存储库。
安装新工具(如 git bash 或 IntelliJ 或 SourceTree)不会为同一个项目创建多个不同的 git 数据库。 .git
文件夹是所有 git 相关工具共享的 唯一 数据库。
你有几个选择:
你提到了 "push" 所以我假设有一个你从中获取代码的远程存储库。如果是这样,您可以再次克隆存储库。
如果您想保存当前的工作文件并尝试再次推送它们,那么您可以克隆到另一个目录,然后将所有文件复制到新的存储库。 Git 会注意到差异,然后您可以提交文件。您将丢失您的提交历史记录,但至少您仍然拥有最新的更改。
或者,您可以克隆到另一个目录,然后将该 .git 文件夹移动到当前项目。 Git 不会知道您移动了那个 .git 文件夹,因为从 git 的角度来看,.git 存储库突然获得了很多未提交的文件。
如果没有远程存储库或者您刚刚创建了一个新的空远程存储库(例如在 github 上),那么很抱歉您丢失了整个存储库提交历史。您唯一的选择是从
git init
重新开始