gpt4 book ai didi

c# - Git:文件在本地删除但在远程更改。我如何看到他们的变化?

转载 作者:太空狗 更新时间:2023-10-29 14:46:58 25 4
gpt4 key购买 nike

在一个相当大的项目中,我偶尔会发现自己在 merge 期间遇到以下情况(我使用的是用于 Git 的 Windows GUI,称为 GitExtensions,但我同样对命令行感到满意):

File does not have a local revision. The file has been deleted locally (ours) but modified remotely (theirs).

然后我可以选择:“删除文件(我们的)”“保持修改(他们的)”,或“保留基本文件”.

我明白这里发生了什么以及这些选项是什么,但在大多数情况下我不知道如何继续,除非我能看到对我正在 merge 的分支上的文件所做的更改。如果这是一个不重要的更改(空格/格式化/“使用”语句)然后没关系,我可以继续删除,但如果他们做了一些更重要的更改,那么我将不得不花一些时间手动搜索这些下来并 merge 它们。

在这种情况下,有人知道我可以运行的 git 命令会显示 base -> remote 的差异吗?发生这种情况时,我要去同事的办公 table 前询问他们对该文件进行了哪些更改,以便我可以继续 merge 。

最佳答案

嗯,这不是最好的解决方案,但它可能是最简单的。如果您在 Git 中开始 merge (但在您采取行动之前),Git 将在与您需要 merge 的文件相同的位置创建一个 .BASE、.LOCAL 和 .REMOTE 文件。

在我上面概述的情况下,.LOCAL 或 .REMOTE 将丢失(取决于删除文件的人),但您仍然可以转到有问题的文件夹并手动比较 .BASE -> .REMOTE 或.BASE -> .LOCAL.

这对于 Windows 用户来说可能是最简单的。

如果你真的想使用命令行你可以运行

git merge-base <mergingBranch> HEAD

找出基本提交哈希。然后,使用上面 bundacia 的部分答案:

git difftool <mergeBase>..MERGE_HEAD -- foo.file

关于c# - Git:文件在本地删除但在远程更改。我如何看到他们的变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21551569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com