【发布时间】:2026-02-05 05:40:01
【问题描述】:
我将一些代码推送到 Gitlab 中一个新项目的受保护主分支。
然后我将项目拉到另一台计算机上。
两台电脑(我的台式电脑和笔记本电脑)都设置了相同的 git 凭据。
它们具有相同的 ssh 密钥。
在第二台计算机上,我无法推送到受保护的主分支。
在哪里查看两台计算机上的凭据差异?
我在两台计算机上都使用 Ubuntu,并在 shell 中使用 git。
这是我收到的错误消息:
Total 0 (delta 0), reused 0 (delta 0)
remote: GitLab: You are not allowed to push code to protected branches on this project.
To git@vcs.xxxxxx.nl:xxxxx/xxxxxx.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@vcs.xxxxxxxxxxxxxx.git'
编辑:我现在无法从两台计算机推送。我将与回购的所有者核实。
【问题讨论】:
-
您首先发布收到的错误消息
-
您需要与服务器管理员讨论为什么该挂钩无法识别您的身份
-
我会的。他今天请了病假。但是,我的问题是,如何从一台计算机而不是从另一台具有相同凭据的计算机推送到 repo?换句话说,这些凭据有何不同,我似乎无法找到?
-
在不知道 pre-receive 钩子的内容的情况下,我们将不得不推测。它可能正在查看提交本身中的某些内容(例如作者姓名),而与您的凭据无关。