如何解决Git储藏(stash)冲突?

5

我有一个仓库,其中应用了一个stash。然而现在代码看起来像这样:

<<<<<<< HEAD
        wp_redirect( set_url_scheme( $_SERVER['REQUEST_URI'], 'https' ) );
        exit();
    } else {
        wp_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
=======
        wp_safe_redirect( set_url_scheme( $_SERVER['REQUEST_URI'], 'https' ) );
        exit();
    } else {
        wp_safe_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
>>>>>>> dev-wip

现在的问题是 stashgit 中不显示,并且它也没有显示任何冲突。如何解决这个问题?

1个回答

7
您所看到的是Git在源代码文件中表示合并冲突的方式。标记<<<<<,=======和>>>>>是合并冲突标记,它们将来自合并双方的两个版本分开。我猜测版本dev-wip来自您的Stash。如果您想使用该版本,则只需编辑文件,使上面的片段看起来像这样:
wp_safe_redirect( set_url_scheme( $_SERVER['REQUEST_URI'], 'https' ) );
    exit();
} else {
    wp_safe_redirect( 'https://' . $_SERVER['HTTP_HOST'] .$_SERVER['REQUEST_URI'] );

然后,保存文件并完成应用存储。您可能希望获得两个版本的组合。在这种情况下,进行适当的编辑。

请注意,通常应倾向于执行git stash apply而不是git stash pop,因为后者会删除堆栈中的存储,并且如果出现问题,它将无法再次使用。


1
但问题是我有超过500个这样的文件。:( :( - Janaka Dombawela
1
@JanakaDombawela 看起来你可能做错了什么,或者你需要改变你的方法。有500个冲突文件,看起来你的储藏库已经严重过时了。 - Tim Biegeleisen
2
@JanakaDombawela 或许现在是考虑回到历史的时刻了,可以通过重置到指定的提交或使用储藏弹出前的reflog来实现。 - Romain Valeri
2
如果需要恢复存储区,则可以参考 https://dev59.com/NXVD5IYBdhLWcg3wGXlI。 - Adrian W

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接