2016-09-23 207 views
3

我面临着git checkout命令的问题。请帮忙。git checkout error:无法创建目录:权限被拒绝(Bitbucket)

这是我做的。

  1. 创建本地目录。创建了一些文件。在本地启动一个git回购。
  2. 创造到位桶&回购推我的本地回购协议到位桶
  3. 在本地创建一个新的分支,B01
  4. 增加了新的文件,B01,承诺他们成功地推动了分行到位桶
  5. 现在我想将b01与主人合并,那就是我面临的问题。我无法结算主人。使用命令

列表和错误的详细信息:

git clone [my repo] 
git checkout -b b01 

此后我做了多次更改,包括创建新的文件和目录,致力于这些变化,并成功推动该分支,以回购的变化。如:

git push -u origin b01 

现在我已完成更改并希望将其合并到主分支。所以我做了:

git checkout master 

这里是它引发的错误:

fatal: cannot create directory at 'workfolder': Permission denied 

的Git让我在B01,但删除所有我曾在分支创建的文件。 所以,如果我现在在做一个

git status 

它让我看到:

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> 

我不必运行

git checkout -- . 

恢复的文件。

请帮忙。

+0

你有管理权限运行Git Bash吗?这听起来像它没有创建文件夹的权利。其他的事情可能是这个的副作用。 –

+0

我正在使用Windows机器。我是机器上的管理员。 @TimBiegeleisen – Ritwik

+0

更新:我不知道出了什么问题,但是我打开了第二个git bash窗口,它通过第二个窗口工作。我没有改变任何东西。我仍然保持这个问题的开放性,看看是否有人能够理解我做了什么来搞砸事情。 – Ritwik

回答

1

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

一对夫妇的事情,我可能会尝试阐明问题(S)的一些光:

  1. 你说你创建的目录,并做出许多改变,以B01,然后将其推到了原点。看看这个动作git show的提交。您是否更改“workfolder”父目录的权限? This might be of help

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

  3. 如果这些工作都不起作用,你有没有尝试创建一个关于b01的一次性分支,并合并“主”?这有时会抽出一个原因。

  4. 丑陋的冰雹玛丽。您是否尝试在存储库之外复制/粘贴“b01”,回滚到匹配的最后一个“master”提交,然后将“b01”副本中的更改粘贴到master上?当事情完全颠倒而没有意义时,有时在问题中往回倒退以找出问题出在什么地方,并学会将来不该做什么更容易。

+0

1.我在窗户上,没有改变烫发。 (2)路径长度目前是97个字符的空格。所以不应该是一个问题(3)我该怎么做?你的意思是创建分支b01a关闭分支b01,然后将b01a合并到master而不是b01 master? (4)没有试过这个。我相信这是一个手动过程,只有在没有以上工作的情况下才会尝试。任何想法,我做错了什么,以这种方式搞砸事情? – Ritwik

1

我也有类似的情况。虽然这是因为我在Visual Studio中打开了解决方案。关闭视觉工作室,并做一个混帐重置 - 只有当你不关心失去工作时,才会让我成为一个好地方。

+0

我打开了Visual Studio和vs代码。其中一个必须保持文件锁定。一旦他们都关闭'git checkout foo-branch'为我工作。 –

相关问题