公司用得是 codeup 云效做代码管理平台,我是 windows 本,本地装了 git ,我拥有 A 项目和 B 项目的开发权限和 git 的读写权限(包括 pull,clone,push ),但是我的 A 项目,可以 clone 下来,但是不能 push,我的 B 项目正常,可以 Pull ,也可以 push,我本地用得是 ssh 公钥,在远端配置上了。
git 无法 push ,报错是 remote: PermissonDenied: Permission deny: You are not allowed to push this branch to codeup.xxxxxx.git (pre-receive hook declined) error: failed to push some refs to codeup.xxxxx.git
我试过换一个分支,删除 ssh 公钥,重新生成,把 git 卸载重装,都失败了,但是在另一台机器上,用我的账号是可以 Push 的了,所以可能还是我的 git 客户端这边的问题,这个问题阻塞挺长时间了,求大佬帮助,可以有偿
1
liuzhaowei55 2022-12-10 12:15:46 +08:00 via iPhone
分支保护,自己新建一个分支开发,这时 push 到远端的自己分支,然后提 mr 合并到原分支
|
2
yjxjn 2022-12-10 12:33:22 +08:00
日常用 gitlab ,我觉得楼上说的也是 codeup 的分支保护,只能通过提 mr 的方式来进行 push ,自己新建分支,提 MR 请求,然后找 owner 负责把你的分支 MR 到 master 或者 dev 上就可以了。
|
3
abear 2022-12-10 12:49:27 +08:00
问题在于另一个电脑不是可以 push A 仓库吗,哈哈哈哈哈,怎么是保护分支呢。
|
5
cslive 2022-12-10 13:01:18 +08:00 via Android
仓库分支保护了,你没有权限,找有权限的给你解除
|
6
badboy17 OP 我换成公司的跳板机,用我的 git 账号 clone ,然后 Push 是成功的
|
7
badboy17 OP 我在本地电脑换一个新建的分支 push 也是失败的
|
8
stevenshuang 2022-12-10 14:40:00 +08:00
公钥生成的时候指定你公司的邮箱?
|
9
jymsy 2022-12-10 14:53:03 +08:00
pre-receive hook declined , 明显是远程项目对 commit 的格式做了校验
|
10
PendingOni 2022-12-10 16:04:40 +08:00
|
11
fan123199 2022-12-10 16:09:19 +08:00 via Android
你确定一下 两台机器 push 的内容是否一样。git diff 看一下。看起来不像是 key 的问题。
|
12
forgottencoast 2022-12-10 16:44:34 +08:00
@jymsy
看起来有点像这类问题,但是话说这个提示相当于没有提示啊。 |
13
badboy17 OP @stevenshuang 公钥生成没有指定邮箱,但是在 codeup 上绑定公钥就行了
|
15
hxy100 2022-12-10 23:25:43 +08:00
检查下 git 仓库有没有安全方面设置,指纹,IP 等。检查下出问题仓库所有 git 相关的 hook 有没有被触发~
|
16
vance123 2022-12-11 00:02:38 +08:00
pre-receive hook declined 指的是服务器 git 仓库启用了 pre-receive 脚本,如果这个脚本运行的结果为非零,就会拒绝 push 。你应该直接去 git 服务器看看到底是什么 pre-receive 脚本
|
19
Authorization 2022-12-11 17:56:01 +08:00
出现这种情况可能是由于服务器端的配置问题导致的。如果您在其他电脑上可以正常使用 git push 命令,那么您的账户和 ssh 公钥配置应该是没有问题的。
我建议您联系服务器端的管理员,询问他们是否对 A 项目设置了特殊的权限限制。如果是这样,那么您需要等待管理员修改权限设置,或者在管理员的指导下修改权限设置,才能正常使用 git push 命令。 此外,我也建议您检查本地的 git 配置是否正确。您可以尝试使用以下命令来检查本地的 ssh 公钥是否已经配置到远程服务器上: ssh -T git@<服务器地址> 如果您能够成功连接到服务器并输入上述命令,那么说明您的 ssh 公钥配置没有问题。否则,您可能需要重新生成 ssh |
20
lanceran 2022-12-12 09:53:01 +08:00
@Authorization ChatGPT 回复?
|
21
julyclyde 2022-12-12 12:48:07 +08:00
你能看见这句话就已经说明 ssh 权限正常了
你缺的是 git 权限 |
22
badboy17 OP @Authorization 你是说服务端的问题吗,但是我换机器就行了
|