如何在预提交钩子中正确git stash / pop以获得一个干净的工作树进行测试?

如何在预提交钩子中正确git stash / pop以获得一个干净的工作树进行测试?

我正在尝试使用一系列单元测试进行预提交钩子,我想确保我的工作目录是干净的。编译需要很长时间,所以我想尽可能利用重用编译的二进制文件。我的脚本遵循我在网上看到的例子:


# Stash changes

git stash -q --keep-index


# Run tests

...


# Restore changes

git stash pop -q

这会导致问题。这是repro:


添加// Step 1到a.java

git add .

添加// Step 2到a.java

git commit

git stash -q --keep-index #存储更改

运行测试

git stash pop -q #恢复更改

此时我遇到了问题。该git stash pop -q显然有冲突,a.java我有


// Step 1

<<<<<<< Updated upstream

=======

// Step 2

>>>>>>> Stashed changes

有没有办法让这个流畅干净?


当年话下
浏览 677回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP