如何解决git stash冲突?

Jan*_*ela 4 git gitlab git-merge-conflict

我有一个stash应用a的存储库.但是现在代码看起来像这样:

<<<<<<< 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
Run Code Online (Sandbox Code Playgroud)

问题是现在stash没有出现在git.它没有显示任何冲突.怎么解决这个?

Tim*_*sen 6

你看到的是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'] );
Run Code Online (Sandbox Code Playgroud)

然后,保存文件并完成应用存储.您可能需要一个版本,它是显示给您的两个版本的组合.在这种情况下,进行适当的编辑.

请注意,您通常应该倾向于git stash apply而不是git stash pop,因为后者从堆栈中移除存储,如果出现问题,它将不会再次可用.

  • @JanakaDombawela可能是考虑回到历史记录的时刻,要么重置为指定的提交,要么在存储弹出之前使用reflog. (2认同)
  • 如果需要恢复存储,那么/sf/ask/6253271/可能有所帮助. (2认同)