我正在尝试做的事情:测试来自 github 的 pull 请求。我想在本地将 pull 请求 merge 到 master 中,并对结果运行一些测试。由于存储库很大,我做了一个浅克隆。
为了能够进行 merge ,我获取越来越多的提交(git fetch
随着 --depth
的增加)直到我有 merge-commit
掌握 pull 请求。
然而,它并不是每次都有效。看起来我不仅需要 merge 基础,还需要 master..merge
_base 范围内的每个提交。但是我不确定该怎么做。
因此,问题是:如何获取足够的历史记录来进行 merge ?
最佳答案
如果您有 feature
从 master
分支的历史,但不想要 master 的完整历史,那么您可以估计分支日期并使用;
git fetch --shallow-since=<date> origin master
很难使用任何其他形式的 git fetch
来做你想做的事情(查询 merge 库的远程),因为 git fetch
获取引用。可能没有您正在寻找的引用。
您可以使用以下脚本自动进行挖掘。
while [ -z $( git merge-base master feature ) ]; do
git fetch -q --deepen=1 origin master feature;
done
关于git - 如何获取足够的提交以在浅克隆中进行 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27059840/