git checkout错误:无法创建目录:权限被拒绝(Bitbucket)

Tec*_*Rik 17 github bitbucket git-checkout

我正面临着git checkout命令的问题.请帮忙.

这就是我做的.

  1. 创建了一个本地目录.创建了一些文件.在本地启动了一个git repo.
  2. 在bitbucket创建了一个回购并将我的本地回购推送到了bitbucket
  3. 在本地创建了一个新分支,b01
  4. 向b01添加了新文件,提交了它们并成功将分支推送到bitbucket
  5. 现在我正在尝试将b01与master合并,这就是我面临问题的地方.我无法结账主人.

使用的命令列表和错误详细信息:

git clone [my repo]
git checkout -b b01
Run Code Online (Sandbox Code Playgroud)

此后,我进行了多项更改,包括创建新文件和目录,提交这些更改并成功将该分支上的更改推送到repo.喜欢:

git push -u origin b01
Run Code Online (Sandbox Code Playgroud)

现在我完成了更改,并希望将其合并到主分支.所以我做了一个:

git checkout master
Run Code Online (Sandbox Code Playgroud)

这是它抛出的错误:

fatal: cannot create directory at 'workfolder': Permission denied
Run Code Online (Sandbox Code Playgroud)

Git让我进入b01,但删除了我在分支中创建的所有文件. 所以,如果我现在做一个

git status
Run Code Online (Sandbox Code Playgroud)

它告诉我:

On branch b01
Your branch is upto date with 'orgin/b01'
Changes not staged for commit:
(use "git add/rm .....)
  deleted: new file1
  deleted: new file2
<list of the new files I had added but which got deleted as a result of the command>
Run Code Online (Sandbox Code Playgroud)

我不得不跑一个

git checkout -- . 
Run Code Online (Sandbox Code Playgroud)

恢复文件.

请帮忙.

gzi*_*ers 36

我有类似的情况.虽然这是由于我在视觉工作室开放解决方案.关闭视觉工作室并做一个git重置 - 硬(只有你不担心失去工作)才能让我进入一个好位置.

即检查是否有任何进程锁定文件夹/文件.


小智 7

正如已经说过的那样,当另一个进程已经在访问文件时可能会发生这种情况,因此关闭任何可能正在使用它的应用程序都会有所帮助,因为我打开了 Visual Code 并关闭它确实有帮助。


小智 0

首先,在每次使用 git 的操作之间,我建议执行一次快速的git status. 我无法告诉你有多少次这让我省去了很多麻烦。

我可能会尝试通过以下几件事来阐明问题:

  1. 您说您创建了目录并对 b01 进行了大量更改,然后将其推送到原点。查看此操作“git show”的提交。您是否更改了“workfolder”父目录的权限?这可能会有帮助

  2. 你是在窗户上吗?如果是,您的目录路径有多深?路径长度是否超过windows max?参考这里

  3. 如果这些都不起作用,您是否尝试过在 b01 上创建一个一次性分支,并合并“master”?有时这会找出原因。

  4. 丑陋的冰雹玛丽。您是否尝试过在存储库外部复制/粘贴“b01”,回滚到“master”的匹配的最后一次提交,然后将“b01”副本中的更改粘贴到master上?当事情完全颠倒过来并且没有意义时,有时更容易逆向解决问题,找出问题所在并了解将来不该做什么。