在不提交的情况下解决 Git 存储冲突

本文概述了在不还原或创建提交的情况下解决 Git 存储冲突应遵循的步骤。 为了更简单的上下文,我们将模拟 git stash pop 命令导致冲突的情况,并尝试在不添加要提交的文件的情况下解决冲突。


在不提交的情况下解决 Git 存储冲突

在 VSCode 上,我们将打开我们的 README.md 文件,保存,在末尾添加一行,然后存储更改。

$ git stash
Saved working directory and index state WIP on Dev2.1: 8b5cc6c Zesr

接下来,我们将在 README.md 文件的末尾添加另一行,保存并提交更改。

现在我们可以运行 git stash pop 命令。

$ git stash pop

在不提交的情况下解决 Git 存储冲突

要在不添加提交文件的情况下解决此问题,请执行以下步骤。

第一步是解决合并冲突。 Git 有一个默认的 mergetool,但我们更喜欢使用 Meld。

如果要使用 Meld,请确保将其配置为默认的合并和差异工具。

我们将运行下面的命令来启动 Meld 并手动解决冲突。

$ git mergetool

处理完合并冲突后,让我们快速检查工作树的状态。

$ git status

在不提交的情况下解决 Git 存储冲突

如上面的输出所示,Git 已暂存文件以供提交。 我们需要运行推荐的命令来取消暂存文件。

$ git restore --staged README.md

让我们检查一下我们的工作树。

$ git status

在不提交的情况下解决 Git 存储冲突

请记住,Git 不会在合并后自动删除存储。 你将不得不通过运行来删除它:

$ git stash drop

总之,我们有两种方法可以将 Git 冲突标记为已解决。 我们可以使用 git add 或 git restore --staged 命令。

后者将解决冲突并从索引中删除文件。