首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Git错误:无法附加到.Git/log/refs/遥控器/源文件/母版:权限被拒绝

Git错误:无法附加到.Git/log/refs/遥控器/源文件/母版:权限被拒绝
EN

Stack Overflow用户
提问于 2010-04-15 05:01:15
回答 8查看 112.3K关注 0票数 114

我有一个我似乎解决不了的奇怪问题。以下是所发生的事情:

我在github存储库中有一些我不想要的日志文件。我发现这个脚本可以从git历史记录中完全删除文件,如下所示:

代码语言:javascript
运行
复制
    #!/bin/bash
set -o errexit

# Author: David Underhill
# Script to permanently delete files/folders from your git repository.  To use 
# it, cd to your repository's root and then run the script with a list of paths
# you want to delete, e.g., git-delete-history path1 path2

if [ $# -eq 0 ]; then
    exit 0are still
fi

# make sure we're at the root of git repo
if [ ! -d .git ]; then
    echo "Error: must run this script from the root of a git repository"
    exit 1
fi

# remove all paths passed as arguments from the history of the repo
files=$@
git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch $files" HEAD

# remove the temporary history git-filter-branch otherwise leaves behind for a long time
rm -rf .git/refs/original/ && git reflog expire --all &&  git gc --aggressive --prune

当然,我先做了备份,然后再试。好像挺好的。然后,我执行了git推送-f,并收到了以下消息:

代码语言:javascript
运行
复制
error: Unable to append to .git/logs/refs/remotes/origin/master: Permission denied
error: Cannot update the ref 'refs/remotes/origin/master'.

不过,似乎一切都很顺利,因为文件似乎是从GitHub存储库中删除的,如果我再次尝试推送,就会得到相同的信息:

代码语言:javascript
运行
复制
error: Unable to append to .git/logs/refs/remotes/origin/master: Permission denied
error: Cannot update the ref 'refs/remotes/origin/master'.
Everything up-to-date

编辑

代码语言:javascript
运行
复制
$ sudo chgrp {user} .git/logs/refs/remotes/origin/master
$ sudo chown {user} .git/logs/refs/remotes/origin/master
$ git push
Everything up-to-date

谢谢!

编辑

呃哦。问题来了。我一整晚都在做这个项目,我只是想提交我的修改:

代码语言:javascript
运行
复制
error: Unable to append to .git/logs/refs/heads/master: Permission denied
fatal: cannot update HEAD ref

所以我:

代码语言:javascript
运行
复制
sudo chown {user} .git/logs/refs/heads/master
sudo chgrp {user} .git/logs/refs/heads/master

我再试一次,我得到:

代码语言:javascript
运行
复制
error: Unable to append to .git/logs/HEAD: Permission denied
fatal: cannot update HEAD ref

所以我:

代码语言:javascript
运行
复制
sudo chown {user} .git/logs/HEAD
sudo chgrp {user} .git/logs/HEAD

然后我再试一次:

代码语言:javascript
运行
复制
16 files changed, 499 insertions(+), 284 deletions(-)
create mode 100644 logs/DBerrors.xsl
delete mode 100644 logs/emptyPHPerrors.php
create mode 100644 logs/trimXMLerrors.php
rewrite public/codeCore/Classes/php/DatabaseConnection.php (77%)
create mode 100644 public/codeSite/php/init.php
$ git push
Counting objects: 49, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (27/27), done.
Writing objects: 100% (27/27), 7.72 KiB, done.
Total 27 (delta 15), reused 0 (delta 0)
To git@github.com:IAmCorbin/MooKit.git
59da24e..68b6397  master -> master

万岁。我跳转到http://GitHub.com并查看存储库,而我最近的提交却找不到。*抓头::所以我再推:

代码语言:javascript
运行
复制
Everything up-to-date

Umm...it看起来不像。我以前从没遇到过这个问题,这会不会是github的问题?还是我搞砸了我的git项目?

编辑

不过,我做了一个简单的:

代码语言:javascript
运行
复制
git push origin master

而且还挺好的。

EN

Stack Overflow用户

发布于 2015-07-24 13:28:18

请先提供root帐户的权限,如下所示

代码语言:javascript
运行
复制
chmod -R 777 foldername

之后,运行提交命令。

票数 -18
EN
查看全部 8 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2642836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档