解决冲突后,git merge --continue 时 lint不通过

一、背景

合并后,解决冲突,然后想继续合并

git merge --continue

报错:
在这里插入图片描述
¯_(ツ)_/¯。。。。

二、解决

尝试:

git merge --continue --no-verify

报错,意思大概是 merge 不存在这个参数 --no-verify ╭(°A°`)╮
ok,just do it,就让我暂时灭了 lint
去到项目底下,找到 package.json,把里面这段暂时删除即可, ╮( ̄▽ ̄"")╭

"husky": {
    "hooks": {
      "pre-commit": "yarn lint-staged",
      "commit-msg": "commitlint -e $GIT_PARAMS"
    }
  },
  "lint-staged": {
    "(coding)/**/*.{md,css}": [
      "git add"
    ],
    "(coding)/**/*.scss": [
      "stylelint --fix",
      "git add"
    ],
    "(coding)/**/*.{js,jsx,ts,tsx}": [
      "eslint --fix",
      "git add"
    ]
  },
### Git 提交 `pre-receive hook declined` 错误解决方案 当遇到 `pre-receive hook declined` 错误,这表明远程仓库的钩子脚本阻止了你的推送操作。以下是可能导致该错误的原因以及对应的解决方法: #### 1. **分支保护** 如果目标分支(如 `main` 或 `master`)受到保护,则只有特定角色的用户(如 Maintainer 或 Owner)才能直接推送到这些分支。 - **解决方法** 创建一个 Pull Request(PR)或 Merge Request(MR),将更改合并到受保护的分支中,而是直接强制推送代码[^4]。 ```bash # 切换到当前工作的分支 git checkout your-feature-branch # 将更改推送到远程 feature 分支 git push origin your-feature-branch # 在 Web 界面创建 PR/MR 合并到 main/master ``` --- #### 2. **权限足** 如果你的角色是 Developer 而非更高权限的 Maintainer 或 Master,那么你可能无法执行某些敏感操作,例如强制推送 (`--force`) 或删除分支。 - **解决方法** 请求项目管理员提升你的角色权限,或将目标分支的保护状态解除后再重新启用[^4]。 ```bash # 如果你是管理员,可以通过以下步骤调整分支保护设置 # 登录到 GitLab/GitHub 的管理界面 # 导航至 Settings -> Repository -> Protected Branches # 取消对目标分支的保护选项 ``` --- #### 3. **CI/CD 检查失败** 许多现代版本控制系统集成了持续集成和部署流程(CI/CD)。如果提交的内容未通过 CI/CD 定义的测试套件或质量标准,也会触发此错误。 - **解决方法** 检查 CI/CD 日志以确认哪些检查项失败,并修复相应问题后重试推送[^2]。 ```bash # 查看 CI/CD 流水线的状态 gitlab-ci status # 根据提示修正本地代码并通过所有必要的测试 make test && make lint ``` --- #### 4. **提交信息合规** 部分团队要求严格的 Commit Message 规范(如 Angular 提交约定)。如果满足这些规则,也可能导致拒绝接收。 - **解决方法** 修改最新的一次提交消息使其符合预期格式[^2]。 ```bash # 编辑最后一次提交的信息 git commit --amend # 再次尝试推送 git push origin main --force-with-lease ``` > 注意:推荐使用 `--force-with-lease` 替代简单的 `--force` ,这样能避免覆盖其他开发者的工作成果[^1]。 --- #### 5. **历史记录冲突** 当你试图强行更新已存在差异的历史记录,可能会引发类似的错误。 - **解决方法** 先同步最新的上游变更再实施新的改动[^3]。 ```bash # 获取远端变动 git fetch origin # 对齐本地与远程分支 git rebase origin/main # 处理潜在的冲突文件后继续rebase过程 git add . git rebase --continue # 最终完成推送动作 git push origin main ``` --- ### 总结 以上列举了几种常见场景及其对应措施来应对 `pre-receive hook declined` 类型的问题。实际应用过程中需依据具体情况采取适当行动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值