Nix*_*Nix 13 git git-submodules githooks
我设置了一些git钩子来gulp在预提交上运行一些命令.我基本上跑jshint/ plato.我基本上想要绕过这两种情况:
plato gulp命令在源上运行分析并生成跟踪复杂性的/ reports /目录.如果我们在修补程序分支上执行此操作,则在将它们合并回开发时会导致合并冲突.这里足够的说话是简单的钩子:
#!/bin/sh
if git diff --cached --name-only --diff-filter=ACM | grep '.js$' >/dev/null 2>&1
then
git stash -q --keep-index
./node_modules/.bin/gulp jshint
RESULT=$?
git stash pop -q
[ $RESULT -ne 0 ] && exit 1
git stash -q --keep-index
./node_modules/.bin/gulp plato
git add report/
git stash pop -q
fi
exit 0
Run Code Online (Sandbox Code Playgroud)
现在的问题是,如果我在"报告"上有合并冲突,我解决了合并All conflicts fixed but you are still merging.,然后提交它再次运行分析并分阶段提交,当它提交时抛出一个错误:
/Users/Nix/work/project/.git/modules/somesubmodule/MERGE_HEAD'用于阅读:没有这样的文件或目录.
该目录确实存在,但没有合并头...
Nix*_*Nix 18
所以我刚刚找到一个命令,我认为我可以使用它来检测"merge_head"
git rev-parse -q --verify MERGE_HEAD
Run Code Online (Sandbox Code Playgroud)
如果rev-parse返回一个哈希,意味着我们当前处于合并状态.我可以用它绕过这个逻辑.但是会等待更有经验的人提供更好的建议.
| 归档时间: |
|
| 查看次数: |
3121 次 |
| 最近记录: |