【问题标题】:Visual Studio 2017 Unstaged changes vanishes after Merging from Master Branch to a release branch从主分支合并到发布分支后,Visual Studio 2017 未暂存的更改消失
【发布时间】:2020-05-15 14:23:21
【问题描述】:

我需要将“Master”分支中的选定更改合并到“EnvT”分支。

在合并期间(从 Master 到 EnvT),假设对“Master”分支进行了大约 15 次更改,所有 15 次更改都是分阶段的,并且在“分阶段更改”中可用,但在这 15 项更改中,我想要仅合并 2 个更改。所以我右键单击 13 个更改并“取消暂存”更改。解决合并冲突后,我将 2 个更改从 Master 分支合并到“EnvT”分支。我提交更改并将更改推送到“EnvT”来源。到目前为止一切都很好。

问题是,下次我从“Master”分支合并到“EnvT”分支时,我在之前的合并操作中“Unstaged”的 13 个更改不会出现在“Staged changes”下。无论我做什么,这些更改都不会在下一次从 Master 到 EnvT 的合并中恢复。

如果有人能对正在发生的事情有所了解,那就太棒了。任何帮助将不胜感激。

【问题讨论】:

  • 您是否查看过更改视图下的更改是否在这些文件中可用?你可以试试看是否可以从git bash终端获得更改?
  • 我使用了 git diff,但它什么也没返回。

标签: git visual-studio git-merge unstage


【解决方案1】:

我找不到 Visual Studio 解决方案。该解决方案基于 Git Bash。

$ git diff --name-status EnvT..master| wc(获取EnvT分支和master分支之间的差异总数)

$ git checkout EnvT (这是目标分支,将从'master'分支接收更新)

$ git checkout master "C:/filefullpath/SQL/file1.sql" (提供文件的完整路径) 从 18b47878 更新了 1 条路径

$ git 状态

在分支 EnvT 要提交的更改: (使用“git restore --staged ...”取消暂存) 修改:/SQL/file1.sql

$ git commit -m '将特定文件从主分支更新到本地分支' $ git diff --name-status EnvT..master| wc (最后得到更改的数量,应该有更少的差异)。

提交更改后,我在 Visual Studio 2017 上重新打开了分支并尝试从 Master 合并到 EnvT,我只看到尚未合并的更改。在 Visual Studio 合并期间,使用 Git Bash 完成的文件合并不会出现在变更集中。任务完成!

这些文章很有帮助:

https://jasonrudolph.com/blog/2009/02/25/git-tip-how-to-merge-specific-files-from-another-branch/

How to merge specific files from Git branches.

【讨论】:

    猜你喜欢
    • 2021-10-24
    • 2015-02-19
    • 1970-01-01
    • 2019-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 1970-01-01
    相关资源
    最近更新 更多