2011-07-01 272 views
12

我在Windows上使用git。这就是我所做的:在机器M1上进行开发,在USB驱动器M2上创建裸存储库以备份M1上的存储库。我没有使用此命令(从git的庆典上M1)备份:git错误“无法写入sha1文件名...权限被拒绝”

git push --mirror "f:\repo" 

工作没有任何问题。 然后我买了一台新机器M3。我克隆了从M2到M3的存储库:

git clone "f:\repo" . 

在M3中做了一些签入到回购协议。然后我做了(从机M3的git bash)的

git push --mirror "f:\repo" 

我得到这个错误: 无法写入SHA1文件名...权限被拒绝 我该如何解决这个问题?

+0

参见http://stackoverflow.com/q/3829498/119790 –

+0

请参阅我的答案在http://stackoverflow.com/questions/3829498/git-over-samba-unable-to- write-sha1-filename-permission-denied/6777323#6777323 –

+0

@morpheus你需要在这里标记答案。 – jcollum

回答

0

我也得到了同样的错误,但通常当在Windows机器上使用bash进行“git pull”时。

对我来说,它与其他一些应用程序(通常是病毒检查程序)在我的情况下通过保持.git目录导致冲突。

我通常可以多做几次“git pull”,它最终可以工作(在相同权限失败后拒绝其他哈希值的错误),或者如果我感到匆忙,我会阻止我的病毒检查器,执行git pull(在没有许可错误的情况下第一次成功运行),然后非常快速地再次打开病毒检查程序。

-1

我有同样的问题,并能够通过去C:\Program Files\Git,然后右键git-bash.exe - >属性 - >兼容性 - >以管理员身份运行此程序来解决它。

-1

我们就遇到了这个问题,当一个同事没有在他的.bashrc正确umask设置,导致他犯被设置任何文件,只是我们其余试图写在git repo变化到同一文件中读取。这里是link explaining umask permissions

+1

虽然这个链接可能回答这个问题,但最好在这里包含答案的基本部分并提供参考链接。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/17870811) –

+1

非常感谢您的提示。这是我在这个网站上的第一个评论,我将学习和改进。 –

相关问题