添加和删​​除子模块后,Git停止工作

时间:2012-12-25 10:42:25

标签: git tortoisegit

确定, 我在stackoverflow和网络上阅读了很多答案,但没有一个能帮助我。

问题始于git版本Git-1.7.10-preview20120409和tortoiseGit TortoiseGit-1.7.10.0-64bit后来我升级到Git-1.8.0-preview20121022和tortoiseGit 1.7.15,我希望它能解决我的问题问题

我正在使用git几个月,现在几乎只通过tortoiseGit。到目前为止,我所完成的大部分工作都是在Assembla上托管的存储库很少,而且每个工作站都有很少的分支,我正在做大多数常见的事情。

今天我尝试在项目中添加一个开源子模块,它运行良好,但后来我决定采用子树方法。直到这一点,我没有向本地分支提交任何东西,我没有向我的远程服务器推送任何东西。由于我没有看到任何简单的删除子模块,我试图将我的分支恢复到最后一次已知的提交,它没有真正起作用,所以我删除了.gitmodules文件和配置文件中的相关部分和子模块文件夹。由于东西仍然没有完全正常工作,我决定从我的本地机器中删除整个存储库并再次克隆它。我以为既然我没有做任何事情也没有推动我会没事的。但是克隆成功完成后我按下确定按钮我得到以下消息失败设置配置remote.origin.puttykeyfile 按下确定后几乎没有任何工作,所以我尝试更改设置这个:在reop文件夹中右键单击 - > TortoiseGit-> Settings-> git->远程和我得到以下错误致命:不是git存储库:../。git / modules / thirdPartyName 。当然指定的文件夹甚至不存在,我试图手动创建它并在该文件夹上运行 git init 命令,仍然没有帮助我。

我读到的任何内容都没有帮助我解决我的问题,因此我升级了GIT并删除了tortoiseGit并安装了新版本。我仍然遇到同样的问题,我认为问题与togoiseGit在卸载时没有清除设置这一事实有关。

使用新版本的git和tortoiseGit,我得到了几乎相同的错误。 无法初始化libgit。 libgit报告:不是git存储库:../。git / modules / thirdParty

现在我的情况是我的计算机上的所有存储库都不起作用。我几乎可以肯定它是git或tortoiseGit设置的东西,因为它也不能与其他无关的存储库一起使用。

我真的很感激帮助,

由于

- EDIT-- 看起来GIT在命令行中工作正常,所以我认为问题出在togoiseGit

1 个答案:

答案 0 :(得分:1)

首先要做的是将问题一次性减少到一件事。 TortoiseGit位于Git for Windows之上。所以开始只使用Git for Windows(仅限命令行),直到你开始工作,你真的不希望让TortoiseGit工作。

如果您删除了本地存储库并重新克隆,那么除了全局git配置和系统git配置文件之外,您的计算机上什么都没有。因此,您的问题必须存在于其中一个文件中。系统git config不太可能被修改,所以它可能是全局(你的每用户)git配置。这是$ HOME / .gitconfig(或使用cmd shell的%USERPROFILE%.gitconfig)。使用可以显示行结尾的内容打开该文件,并检查它是否正常。它可能应该是unix行结尾但它肯定不应该有混合dos和unix行结尾 - 我已经看到一些工具将dos行结尾添加到一个文件中,该文件的unix行结尾造成混乱。

如果它看起来不错并且事情仍然存在,请尝试删除该文件,然后转到git config --global -l以查看剩余的内容。这应该只是系统配置文件中的内容,该文件位于%PROGRAMFILES%\ Git \ etc \ gitconfig(或msys shell中的/ etc / gitconfig)中。检查一下。

如果它看起来还不错并且仍然全部损坏,请检查虚拟商店。如果您通常使用非管理帐户运行并尝试编辑系统配置,那么Windows有一个令人生气的方案,它会生成虚拟副本。它们位于%LOCALAPPDATA%\ VirtualStore中。如果它包含“Program Files \ Git”文件夹,那么你就会遇到这个错误的功能,应该删除那里的文件。

最后,您可以尝试使用PortableGit - 我认为这可以使用来自某个备用位置的每个配置文件,这样可以使您免受糟糕的本地配置文件的影响。