git add——补丁产量”;不是git存储库;

git add——补丁产量”;不是git存储库;,git,version-control,workflow,Git,Version Control,Workflow,我目前正在使用Windows7x64开发一些使用Git进行版本控制的软件 我已经习惯于使用git add-pgit,这样我就不必担心一次只处理一个特性。不过,最近这项功能对我不起作用。当我运行它时,我得到以下信息: PS C:\Users\path\to\folder> git add -p . fatal: Not a git repository: '.git' rev-parse --show-prefix: command returned error: 128 由于某种原因,g

我目前正在使用Windows7x64开发一些使用Git进行版本控制的软件

我已经习惯于使用git add-p
git,这样我就不必担心一次只处理一个特性。不过,最近这项功能对我不起作用。当我运行它时,我得到以下信息:

PS C:\Users\path\to\folder> git add -p .
fatal: Not a git repository: '.git'
rev-parse --show-prefix: command returned error: 128
由于某种原因,
git reset-p
的中断相同,但不是
git add
git reset
。存储库的所有其他功能正常工作。我已经尝试过重新初始化,删除我的工作目录,从Github重新控制repo,以及一篇文章中建议的
git checkout-f


为什么我会遇到这个问题以及如何解决它?

当我通过msysgit安装GitHub for Windows时,我就遇到了这个问题。我终于意识到我在普通shell(Console2)中使用的git版本比GitHub shell使用的版本旧。Console2版本有这个问题,而GitHub Shell工作得很好

我卸载了git的旧版本,并在我的
profile.ps1

.(Resolve-Path "$env:LOCALAPPDATA\GitHub\shell.ps1")

这将加载GitHub for Windows在安装时生成的powershell脚本,并将正确地获取最新版本的git。

听起来像是
-p
代码路径中的特殊内容。在github上浏览代码库,查看错误消息可能来自何处,以及出现故障的条件(因此您的repo中出现了错误?)并不难。当我尝试在repo中添加任何文件(而不仅仅是整个目录)时,它也会以同样的方式失败。