gpt4 book ai didi

Git 错误 : Unable to append to . git/logs/refs/remotes/origin/master: 权限被拒绝

转载 作者:IT王子 更新时间:2023-10-29 00:34:16 24 4
gpt4 key购买 nike

我遇到了一个似乎无法解决的奇怪问题。这是发生的事情:

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

    #!/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 push -f 并收到了以下消息:

error: Unable to append to .git/logs/refs/remotes/origin/master: Permission denied
error: Cannot update the ref 'refs/remotes/origin/master'.

虽然一切似乎都很好,因为文件似乎从 GitHub 存储库中消失了,如果我再次尝试推送,我会得到同样的结果:

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

编辑

$ sudo chgrp {user} .git/logs/refs/remotes/origin/master
$ sudo chown {user} .git/logs/refs/remotes/origin/master
$ git push
Everything up-to-date

谢谢!

编辑

呃哦。问题。我整晚都在处理这个项目,只是去提交我的更改:

error: Unable to append to .git/logs/refs/heads/master: Permission denied
fatal: cannot update HEAD ref

所以我:

sudo chown {user} .git/logs/refs/heads/master
sudo chgrp {user} .git/logs/refs/heads/master

我再次尝试提交,我得到:

error: Unable to append to .git/logs/HEAD: Permission denied
fatal: cannot update HEAD ref

所以我:

sudo chown {user} .git/logs/HEAD
sudo chgrp {user} .git/logs/HEAD

然后我再次尝试提交:

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并检查存储库,我最新的提交无处可寻。::抓挠头::所以我再次 push :

Everything up-to-date

嗯……看起来不像。我以前从来没有遇到过这个问题,这可能是github的问题吗?还是我的 git 项目出了问题?

编辑

没关系,我做了一个简单的:

git push origin master

它推得很好。

最佳答案

这看起来像是您在本地以 root 身份运行 git,从而更改了一些跟踪 origin 分支位置的文件的所有权。

修复文件所有权,你应该没问题:

# run this from the root of the git working tree
sudo chown -R "${USER:-$(id -un)}" .

关于Git 错误 : Unable to append to . git/logs/refs/remotes/origin/master: 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2642836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com