Git 如何重新查看合并冲突

Git 如何重新查看合并冲突,git,visual-studio-code,merge-conflict-resolution,Git,Visual Studio Code,Merge Conflict Resolution,我确实git拉取了origin,并在多个文件中得到了合并冲突 我的项目已在Microsoft的visual studio代码中打开。我查看了其中一个文件,选择了错误的“更改”。我单击“撤消”,但随后它删除了所有合并冲突标记。不幸的是,我的VSC编辑器处于自动保存状态,因此只要我单击另一个文件,它就会在没有合并冲突标记的情况下保存上一个文件 我想重新查看那些合并冲突标记。但当我再次尝试git pull…时,它抱怨我有未解决的合并冲突。所以我添加了我所有的文件并提交了工作-但是现在git pull…

我确实
git拉取了origin
,并在多个文件中得到了合并冲突

我的项目已在Microsoft的visual studio代码中打开。我查看了其中一个文件,选择了错误的“更改”。我单击“撤消”,但随后它删除了所有合并冲突标记。不幸的是,我的VSC编辑器处于自动保存状态,因此只要我单击另一个文件,它就会在没有合并冲突标记的情况下保存上一个文件

我想重新查看那些合并冲突标记。但当我再次尝试
git pull…
时,它抱怨我有未解决的合并冲突。所以我添加了我所有的文件并提交了工作-但是现在
git pull…
说我是最新的


我如何再次查看合并冲突(不使用web编辑器,git说我的合并冲突太复杂了)?

我能够重新查看合并冲突的唯一方法是重置为以前的提交,然后重新拉取:

git reset --hard [commit-sha]
git pull origin <branch-name>
git重置--hard[commit sha]
git拉原点

我能够重新查看合并冲突的唯一方法是重置为以前的提交,然后重新拉取:

git reset --hard [commit-sha]
git pull origin <branch-name>
git重置--hard[commit sha]
git拉原点

这就是
dvcs
中的
d
真正掌握的地方:你可以在本地回购中做任何你想做的事情。Git是一个全服务的历史编辑器,您做了一些想要撤销的编辑。因此,撤销它们:

git reset --hard @^
然后重新运行合并

git merge origin/branch-name
你又回到了oops之前的状态

要从上一次合并中检索任何冲突解决方案,只需检索它们:

git checkout @{1} -- this.file that.file and.another
或者这可能更容易:

git checkout @{1} -- .
git checkout -m -- file.that.was.merged.wrong 

这就是
dvcs
中的
d
真正发挥作用的地方:你可以在本地回购中做任何你想做的事情。Git是一个全服务的历史编辑器,您做了一些想要撤销的编辑。因此,撤销它们:

git reset --hard @^
然后重新运行合并

git merge origin/branch-name
你又回到了oops之前的状态

要从上一次合并中检索任何冲突解决方案,只需检索它们:

git checkout @{1} -- this.file that.file and.another
或者这可能更容易:

git checkout @{1} -- .
git checkout -m -- file.that.was.merged.wrong 

是的,这很有效。提交合并结果会留下现在无用的冲突检测数据;要将其取回,请重新运行合并。同样的数据,同样的过程,同样的结果。这没什么错。此外,有很多合并策略和选项,有充分的理由,使用不同的选项重新运行合并可以节省大量的手动繁琐。如果我已经解决了50个文件,然后我意识到在文件51上我需要返回,将整个工作从头开始是站不住脚的,不说有一个简单的方法,顺便说一句但这是一个公平的问题。应该有办法让最初的冲突从坟墓中恢复过来。是的,这是有效的。提交合并结果会留下现在无用的冲突检测数据;要将其取回,请重新运行合并。同样的数据,同样的过程,同样的结果。这没什么错。此外,有很多合并策略和选项,有充分的理由,使用不同的选项重新运行合并可以节省大量的手动繁琐。如果我已经解决了50个文件,然后我意识到在文件51上我需要返回,将整个工作从头开始是站不住脚的,不说有一个简单的方法,顺便说一句但这是一个公平的问题。如果我已经解决了50个文件,然后我意识到在51个文件中我需要回去,把整个工作从头开始是站不住脚的,顺便说一句,不是说有一个简单的方法来解决它。。。。但这是一个公平的问题。应该有一种方法可以将原始冲突从坟墓中取回。在我看来,您特别询问了如何在提交后恢复合并冲突,如果您想在提交前恢复合并冲突,请参阅
git checkout-m
nice!谢谢如果我已经解决了50个文件,然后我意识到在51个文件上我需要回去,把整个工作从头开始是站不住脚的,顺便说一句,不是说有一个简单的方法。。。。但这是一个公平的问题。应该有一种方法可以将原始冲突从坟墓中取回。在我看来,您特别询问了如何在提交后恢复合并冲突,如果您想在提交前恢复合并冲突,请参阅
git checkout-m
nice!谢谢如果已提交合并,则必须重复合并。如果您没有提交合并,顺便说一句,这是我建议避免使用
git pull
的另一个原因,至少在您非常擅长使用
git pull
为您运行的命令之前:如果您知道
git pull
意味着运行
git fetch
,请运行第二个命令,在这种情况下,
git merge
您领先于不知道这一点的人!如果已提交合并,则必须重复合并。如果您没有提交合并,顺便说一句,这是我建议避免使用
git pull
的另一个原因,至少在您非常擅长使用
git pull
为您运行的命令之前:如果您知道
git pull
意味着运行
git fetch
,请运行第二个命令,在这种情况下,
git merge
您领先于不知道这一点的人!