求熟悉 git 大佬,遇到一个 git 问题阻塞

2022-12-10 12:09:46 +08:00
 badboy17

公司用得是 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 客户端这边的问题,这个问题阻塞挺长时间了,求大佬帮助,可以有偿

2935 次点击
所在节点    git
22 条回复
liuzhaowei55
2022-12-10 12:15:46 +08:00
分支保护,自己新建一个分支开发,这时 push 到远端的自己分支,然后提 mr 合并到原分支
yjxjn
2022-12-10 12:33:22 +08:00
日常用 gitlab ,我觉得楼上说的也是 codeup 的分支保护,只能通过提 mr 的方式来进行 push ,自己新建分支,提 MR 请求,然后找 owner 负责把你的分支 MR 到 master 或者 dev 上就可以了。
abear
2022-12-10 12:49:27 +08:00
问题在于另一个电脑不是可以 push A 仓库吗,哈哈哈哈哈,怎么是保护分支呢。
dzdh
2022-12-10 12:53:56 +08:00
@abear 不见得是同一个分支哦。hhhh
cslive
2022-12-10 13:01:18 +08:00
仓库分支保护了,你没有权限,找有权限的给你解除
badboy17
2022-12-10 14:00:46 +08:00
我换成公司的跳板机,用我的 git 账号 clone ,然后 Push 是成功的
badboy17
2022-12-10 14:07:57 +08:00
我在本地电脑换一个新建的分支 push 也是失败的
stevenshuang
2022-12-10 14:40:00 +08:00
公钥生成的时候指定你公司的邮箱?
jymsy
2022-12-10 14:53:03 +08:00
pre-receive hook declined , 明显是远程项目对 commit 的格式做了校验
PendingOni
2022-12-10 16:04:40 +08:00
fan123199
2022-12-10 16:09:19 +08:00
你确定一下 两台机器 push 的内容是否一样。git diff 看一下。看起来不像是 key 的问题。
forgottencoast
2022-12-10 16:44:34 +08:00
@jymsy
看起来有点像这类问题,但是话说这个提示相当于没有提示啊。
badboy17
2022-12-10 19:52:04 +08:00
@stevenshuang 公钥生成没有指定邮箱,但是在 codeup 上绑定公钥就行了
badboy17
2022-12-10 19:55:21 +08:00
@jymsy 跟远端无关应该,不是 commit 问题
hxy100
2022-12-10 23:25:43 +08:00
检查下 git 仓库有没有安全方面设置,指纹,IP 等。检查下出问题仓库所有 git 相关的 hook 有没有被触发~
vance123
2022-12-11 00:02:38 +08:00
pre-receive hook declined 指的是服务器 git 仓库启用了 pre-receive 脚本,如果这个脚本运行的结果为非零,就会拒绝 push 。你应该直接去 git 服务器看看到底是什么 pre-receive 脚本
badboy17
2022-12-11 14:25:18 +08:00
@hxy100 我的 git 账号用跳板机去 clone,Push 是没问题的,所以我觉得应该不是远端的问题
badboy17
2022-12-11 14:26:01 +08:00
@hxy100 ip 的话,也是连了 vpn ,不应该出问题
Authorization
2022-12-11 17:56:01 +08:00
出现这种情况可能是由于服务器端的配置问题导致的。如果您在其他电脑上可以正常使用 git push 命令,那么您的账户和 ssh 公钥配置应该是没有问题的。

我建议您联系服务器端的管理员,询问他们是否对 A 项目设置了特殊的权限限制。如果是这样,那么您需要等待管理员修改权限设置,或者在管理员的指导下修改权限设置,才能正常使用 git push 命令。

此外,我也建议您检查本地的 git 配置是否正确。您可以尝试使用以下命令来检查本地的 ssh 公钥是否已经配置到远程服务器上:

ssh -T git@<服务器地址>
如果您能够成功连接到服务器并输入上述命令,那么说明您的 ssh 公钥配置没有问题。否则,您可能需要重新生成 ssh
lanceran
2022-12-12 09:53:01 +08:00
@Authorization ChatGPT 回复?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/901504

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX