在添加新目录后,我无法将分支合并回主干。
我创建了一个新的分支BUG_BRANCH,进行了一些代码更改,添加了一个目录,并在该目录中添加了几个文件。我用了#34; git add。"添加我的更改以提交到我的本地分支。然后" git commit -am'在这里发送消息'"。然后我把我的分支推到了GitHub" git push origin BUG_BRANCH",再次检查了主要的开发分支" git checkout dev",并抓住了自我以来发生的任何变化。 d创建了我的分支" git pull origin dev"。
当我尝试将BUG_BRANCH中的更改合并到dev" git merge BUG_BRANCH"时出现问题。对于新创建的目录中的每个文件,我得到了#34;错误:无法统计'路径':权限被拒绝"。当我登录GitHub时,我看到我的更改挂在我的分支的远程副本中。但是我无法将它们合并到开发中,我甚至无法在本地回到BUG_BRANCH;我收到相同的错误消息。
在StackOverflow上查看,似乎我可以使用add的-A选项添加目录,如果我可以回到我的分支。但我不能。有什么想法吗?
答案 0 :(得分:8)
如“git rebase: error: cannot stat 'file': Permission denied
”中所述,这应该是主要在Windows上看到的错误
它通常与Windows进程锁定的文件有关,无论是反病毒还是IDE(Visual Studio,Eclipse,...)。
尝试进行结帐或合并时,请确保没有其他进程正在运行,并查看问题是否仍然存在。
阻止这些文件的TortoiseGIT进程。打开任务管理器和结束进程
TGitCache.exe
。
杀死TGitCache.exe进程(来自other topic)最终成为解决方案
答案 1 :(得分:4)
这里的主要问题是编辑器/ IDE正在锁定文件/文件夹。关闭编辑器/ ide时,文件/文件夹将消失,您可以更改分支/合并/ rebase。
不同的分支可能包含不同的文件夹,因此当更改/合并/重新分支分支时,编辑器/ ide会重新加载文件系统。
也许您不允许编辑器/ ide执行此重新加载或某些设置不允许这样做。我在visual studio中遇到了类似的问题。
要解决此问题,只需关闭编辑器/ ide。