【问题标题】:Adding a new directory to a GitHub repository branch and merging back to the trunk将新目录添加到 GitHub 存储库分支并合并回主干
【发布时间】:2011-11-01 14:26:36
【问题描述】:

添加新目录后,我无法将分支合并回主干。

我创建了一个新分支 BUG_BRANCH,进行了一些代码更改,添加了一个目录,并在该目录中添加了几个文件。我使用了“git add”。添加我的更改以提交到我的本地分支。然后“git commit -am 'message here'”。然后我将我的分支推送到 GitHub “git push origin BUG_BRANCH”,再次检查了主开发分支“git checkout dev”,并抓住了自从我创建分支“git pull origin dev”以来发生的任何更改。

当我尝试将我的 BUG_BRANCH 中的更改合并到 dev“git merge BUG_BRANCH”时,出现了我的问题。对于新创建的目录中的每个文件,我得到“错误:无法统计'路径':权限被拒绝”。当我登录 GitHub 时,我看到我的更改挂在我分支的远程副本中。但是我无法将它们合并到dev中,我什至似乎无法在本地回到BUG_BRANCH;我收到相同的错误消息。

在 StackOverflow 上环顾四周,如果我可以回到我的分支,我似乎可以使用 add 的 -A 选项添加目录。但我不能。有什么想法吗?

【问题讨论】:

    标签: merge github


    【解决方案1】:

    如“git rebase: error: cannot stat 'file': Permission denied”中所述,这应该是主要在 Windows 上看到的错误。
    它通常与被 Windows 进程锁定的文件有关,无论是防病毒程序还是 IDE(Visual Studio、Eclipse,...)。
    确保在尝试进行结帐或合并时没有其他进程正在运行,并查看问题是否仍然存在。

    阻止这些文件的 TortoiseGIT 进程。打开任务管理器并结束进程TGitCache.exe

    OP virtuesplea 报告:

    杀死 TGitCache.exe 进程(来自other topic)最终成为解决方案

    【讨论】:

    • 杀死 TGitCache.exe 进程(来自另一个主题)最终成为解决方案。谢谢!
    • @virtuesplea:非常好。我已将您的解决方案包含在答案中以获得更多可见性。
    • 它并没有解决我的问题。 :/ 仍在寻找答案。
    • Visual Studio 正在锁定文件。刚刚关闭它,结帐工作。谢谢!
    • 我必须重新启动才能释放文件。它一恢复,我的合并就完成了。
    【解决方案2】:

    这里的主要问题是编辑器/IDE 锁定了文件/文件夹。当您关闭编辑器/ide时,文件/文件夹将消失,您可以更改分支/合并/rebase。

    不同的分支可能包含不同的文件夹,因此当分支被更改/合并/重新定位时,编辑器/ide 会重新加载文件系统。

    也许您不允许编辑器/ide 执行此重新加载,或者某些设置不允许这样做。我在visual studio中遇到过类似的问题。

    要解决这个问题,只需关闭编辑器/ide。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-25
      • 1970-01-01
      • 2013-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      相关资源
      最近更新 更多