我正在使用git,并进行了一个小的提交,然后是一个大的提交。我决定在推送之前使用git rebase将两个提交压缩在一起。(我以前从未这样做过。)

于是我做了:

我们回来了

这给了我一个编辑器,我选择选择较早的提交并删除较晚的提交。我攒钱的时候,少不要脸的人说:

错误:不能stat 'filename':权限被拒绝 不能为以后的提交应用sha1…提交的初始文本行

Now:

当我做git日志时,也没有提交。 git状态告诉我“当前不在任何分支上”。 一个文件被列为已修改并在索引中,两个文件被列为未跟踪。我的第一次提交只有一个文件(我想),而我的第二次提交有一打。

!发生了什么?我该怎么解决呢?


当前回答

关闭你的IDE (VISUAL STUDIO/ATOM等)。可能会有用

其他回答

我在Windows中偶尔会遇到这种情况

错误:不能stat 'filename':权限被拒绝

大多数情况下,我打开了多个bit bash实例,其中一个git bash实例位于我所从的远程分支中不存在的目录中。

关闭除了一个实例之外的所有git bash实例为我解决了这个问题。

我也遇到过类似的问题。但是解决起来很简单。 在一台Windows机器上,我的文件资源管理器打开了一个文件夹,它存在于一个分支中,但不存在于我签出的另一个分支中。 关闭文件资源管理器解决了这个问题。

我在Windows 10上,我得到了这个错误,但即使在电脑重新启动并使用管理权限打开后,也没有解决我的问题。

看来问题出在我的存储库特权上。

只是为了确保我安装了所有新的Windows更新 我重启了我的电脑,最后我删除了所有不必要的特权。

以管理员身份运行powershell,执行如下命令:

attrib -s <path_to_your_directory> 
attrib -r -a <path_to_your_directory> 

powershell命令的详细信息如下: https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/attrib

如果使用vscode,杀死终端并打开一个新终端。 否则也可以关闭终端

当我的VS1013在一个针对8.1的分支上,我试图签出一个8.0分支时,我得到了这个错误。我需要回到VS并允许它UpdateAll。然后我就可以顺利地签出8.0的分支了。