具有读取权限的 'git reset --hard' (local/remote) 呢?

What about 'git reset --hard' with read permission (local/remote)?

我是 Git 的新手,我正在尝试理解这个概念。也许有人可以帮我解决一些理论问题?

所以在远程服务器上有一个 Git,在我的本地计算机上有一个克隆的 git。

在使用读取权限将 git 克隆到我的本地计算机后(gitolite 具有 'R' 权限),我可以对 git 进行任何损坏吗?远程服务器?

如果我执行“git reset --hard”(我知道通常会有强烈的反对意见),这是否只会重置本地计算机或远程服务器上的更改?
使用 RRW+ 授权有区别吗?

首先,Git itself has no notion of 'R' or 'RW+': those are read-write permission managed by gitolite, an authorization layer called through SSH (forced command: the ~git/.ssh/Authorized_keys file calls the gitolite script) 或 HTTPS。

git reset --hard纯属局部函数,确实涉及:

  • Git,不包含 gitolite
  • 仅限您的本地存储库,而不是 Gitolite 后面的远程存储库。

如果您要将 HEAD 重置为不同的提交,推送新 HEAD 的唯一方法是通过 Git 操作 git push --force.

这就是 Gitolite 的来源,permission field of the access rules included in the (remote) gitolite-admin repository

只有包含 RW+ 的访问规则才允许您push --force
R 仅用于克隆和获取,它防止推送(强制或不强制)。