小编Fla*_*che的帖子

修复合并冲突后如何绕过预提交挂钩?

TLDR:git rev-parse -q --verify MERGE_HEAD不处于合并状态时会出错。当我们处于合并状态时,如何获得会出错的类似命令?


问题:当我将 master 合并到我的分支并且它存在冲突时,我必须手动更正它们,然后提交。但在某些情况下,我有太多来自 master 的更改,所以我宁愿跳过预提交挂钩。

部分解决方案:我可以运行git commit --no-verify并合并内容,但那是因为我知道该标志。其他开发人员可能不知道这一点,因此(1)他们花费了比需要更多的时间来等待预提交挂钩运行,并且(2)因为这可能需要很长时间,他们往往不太可能重新合并主节点(假设) 。

几乎确定的解决方案:我找到了一种通过使用 来检测我是否处于合并状态的方法git rev-parse -q --verify MERGE_HEAD。当处于合并状态时,它返回一个哈希值,当不处于合并状态时,它会出错。但我需要的恰恰相反。当我处于合并状态时,我需要它出错,因此我可以将它作为预提交挂钩添加到我的所有挂钩中。这会使他们在第一行失败,然后不执行以下命令。

  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.js": [
      "git rev-parse -q --verify MERGE_HEAD",
      "eslint --max-warnings 0 --fix"
    ],
    "*.scss": [
      "git rev-parse -q --verify MERGE_HEAD",
      "stylelint 'app/**/*.scss'"
    ],
    "*.{js,json,yml,scss,md}": [
      "git rev-parse -q --verify MERGE_HEAD",
      "prettier --write"
    ],
    "*": [
      "bundle exec rubocop --auto-correct --force-exclusion"
    ]
  }, …
Run Code Online (Sandbox Code Playgroud)

git husky lint-staged git-husky

10
推荐指数
2
解决办法
6476
查看次数

4
推荐指数
1
解决办法
1488
查看次数

在任何来源中都找不到ffi-1.9.4

我正在使用Nitrous.io来运行这个项目.

它一直工作,直到我安装了rvm和新版本的ruby(2.1.3).

~/workspace/myapp$ bundle
Fetching gem metadata from https://rubygems.org/.........
Could not find ffi-1.9.4 in any of the sources   
Run Code Online (Sandbox Code Playgroud)

这可能不是红宝石的问题.虽然我认为ffi-1.9.4可能是一个新的红宝石依赖.

我一直在调查这个问题半小时,在Stack Overflow上没有发现任何内容.

所以我想知道以前是否有人有同样的问题.非常感谢!

ruby gem rubygems ruby-on-rails

3
推荐指数
1
解决办法
2836
查看次数

标签 统计

ruby ×2

ruby-on-rails ×2

gem ×1

git ×1

git-husky ×1

husky ×1

lint-staged ×1

rubygems ×1