【问题标题】:Cherry Pick Problem in Visual Studio 2019Visual Studio 2019 中的樱桃采摘问题
【发布时间】:2020-06-18 18:42:10
【问题描述】:

我刚刚遇到了一个由 VS2019 中的樱桃采摘引起的问题,这导致我不得不放弃并重新创建我的本地和 github 存储库。没什么大不了的,因为代码相当稳定,而且我没有与任何人共同开发它。

但我想知道我做错了什么,所以我不会再犯了。

我在存储库中有两个分支,master 和 dev。我在 dev 中进行了一项特殊的更改,我想将其传播回 master。因此,按照我在网上找到的一些说明,我将 master 设置为活动分支,右键单击 dev 分支并选择 Cherry Pick。认为我会看到一个关于 dev 的提交历史列表,我会从中选择我想要的一个(这是最近的一个)。

只是……似乎什么也没发生。更改下没有显示任何内容。

所以,我以为我搞砸了,我遵循了一组不同的方向并提出了 dev 的历史,同时仍然将 master 作为活动分支。在历史记录中,我右键单击了我想要的提交并选择了 Cherry Pick。

似乎仍然没有发生任何事情。但我注意到代码更改(它在一个文件中的一个位置)>>had

但是当我尝试将本地存储库同步到 github 时,我被告知存在一个错误,涉及 github 和本地存储库之间的一些不一致(抱歉,我没有想到将错误消息复制下来)。事情从那里开始失控(我想我尝试从 github 拉取更改以解决不一致问题,然后最终出现另一个错误,即本地存储库头位于 github 存储库头或类似的东西后面)。

如果这个糟糕的描述提供了足够的线索来说明我是如何搞砸的,以及我应该做什么,我将不胜感激。

【问题讨论】:

    标签: git visual-studio github visual-studio-2019 git-cherry-pick


    【解决方案1】:

    在这种情况下使用命令行会更安全,使用git cherry-pick

    git reflog 也有助于恢复这种情况,但允许您重置为较旧的提交(在这些操作之前)

    作为illustrated here(使用 Visual Studio 2019),在挑选时寻找冲突解决方案,否则它将“卡”在 Visual Studio 无法很好识别的中间状态。

    【讨论】:

    • 谢谢,@VonC。我应该记得,我在 VS 中使用 git 的大多数(幸运的是不常见的)问题都是使用 VS UI 而不是命令行发生的。顺便说一句,你有没有推荐的网站来学习更多关于使用樱桃挑选功能之类的东西?
    • @MarkOlbert 是的,这是learngitbranching.js.org 课程的一部分。 (加上我的旧答案:stackoverflow.com/a/1994491/6309
    • 感谢链接,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-12-07
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-26
    • 1970-01-01
    相关资源
    最近更新 更多