返回

Git Push 失败怎么办?! [remote rejected] master -> master (pre-receive hook declined)`

开发配置

Git push 无法进行?别担心,这里有两种解决方案!

当进行 git push 操作时,遇到 ! [remote rejected] master -> master (pre-receive hook declined) 的错误提示,这表明你所要推送到远程仓库的分支受到保护,只有管理员或拥有相应权限的人员才能进行推送。

image.png

别着急,你可以通过以下两种方法轻松解决这一问题:

解决方案 1:关闭受保护分支

  1. 进入项目设置

    • 点击项目菜单栏中的 "Settings" 选项。
  2. 进入受保护分支

    • 在左侧菜单中,选择"Repository" --> "Protected branches" 选项。
  3. 关闭受保护权限

    • 找到你要推送的分支(通常是 master),然后点击 "Unprotect" 按钮。

image.png

解决方案 2:新建分支并进行推送

  1. 新建分支

    • 使用以下命令新建一个分支:
    git branch 新分支名
    
  2. 切换分支

    • 使用以下命令切换到新分支:
    git checkout 新分支名
    
  3. 上传项目

    • 依次执行以下命令上传项目:
    git add .
    git commit -m "提交信息"
    git remote add origin 远程仓库地址
    git push -u origin 新分支名
    

通过以上两种方法,你可以轻松绕过受保护分支的限制,完成项目推送。

常见问题解答

1. 我没有管理员权限,如何修改受保护分支?

联系项目的管理员或具有相应权限的人员,请求他们帮你关闭受保护权限。

2. 新建分支有什么好处?

新建分支可以让你在不影响原有分支的情况下进行修改和测试,并在以后需要时再合并回原有分支。

3. 为什么我的推送被拒绝了?

除了受保护分支外,还有其他因素可能会导致推送被拒绝,例如:

  • 分支冲突
  • 提交中包含敏感信息
  • 未关联远程仓库

4. 如何查看受保护分支的权限?

在 "Protected branches" 页面中,你可以查看每个分支的权限设置,包括谁可以推送和合并。

5. 我在关闭受保护权限后仍然无法推送,怎么办?

请检查以下内容:

  • 确保你具有推送权限。
  • 确保远程仓库地址正确无误。
  • 尝试清除本地 Git 缓存:git fetch --prune