具有读取权限的 '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
”(我知道通常会有强烈的反对意见),这是否只会重置本地计算机或远程服务器上的更改?
使用 R
或 RW+
授权有区别吗?
首先,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
仅用于克隆和获取,它防止推送(强制或不强制)。
我是 Git 的新手,我正在尝试理解这个概念。也许有人可以帮我解决一些理论问题?
所以在远程服务器上有一个 Git,在我的本地计算机上有一个克隆的 git。
在使用读取权限将 git 克隆到我的本地计算机后(gitolite 具有 'R' 权限),我可以对 git 进行任何损坏吗?远程服务器?
如果我执行“git reset --hard
”(我知道通常会有强烈的反对意见),这是否只会重置本地计算机或远程服务器上的更改?
使用 R
或 RW+
授权有区别吗?
首先,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
仅用于克隆和获取,它防止推送(强制或不强制)。