如何仅合并 vimdiff 中的远程更改?
How to merge only remote changes in vimdiff?
分叉 Github 存储库后,我对其进行了一些更改。这是很久以前的事了,现在上游 b运行ch 已经遥遥领先了。因此我想将这些远程更改合并到我的分叉仓库中。
我只在一个文件中发现了合并冲突。我继续 运行 vimdiff
作为 mergetool
来解决这些问题。
我只想 合并远程更改 并丢弃本地更改。
但是该文件中太多 很多相互冲突的帅哥。选择要合并的更改至少可以说是乏味的。
- 是否有指向该文件中所有冲突的
:diffget RE
的快捷方式?
- 也许有一种方法 select 只有一个 b运行ches diff 而丢弃另一个 git?
在 git 中合并有两个选项,可以默认使用远程更改(他们的)或本地更改(我们的)。
如果您只想解决合并中远程更改的冲突,您可以执行以下操作:
git merge -Xtheirs <branch>
如果您只想解决合并中本地更改的冲突,您可以执行以下操作:
git merge -Xours <branch>
您可以从git advanced merging documentation找到更多关于高级合并策略的信息。
使用 Vims global select 您可以将所有差异替换为 LOCAL、BASE 或 REMOTE
- 转到文件的第一行
:1
- 进入视觉模式
<Shift>-V
- 转到文件底部,select 所有行
G
- 在所有行上发出 diffget 命令
:diffget REMOTE
分叉 Github 存储库后,我对其进行了一些更改。这是很久以前的事了,现在上游 b运行ch 已经遥遥领先了。因此我想将这些远程更改合并到我的分叉仓库中。
我只在一个文件中发现了合并冲突。我继续 运行 vimdiff
作为 mergetool
来解决这些问题。
我只想 合并远程更改 并丢弃本地更改。
但是该文件中太多 很多相互冲突的帅哥。选择要合并的更改至少可以说是乏味的。
- 是否有指向该文件中所有冲突的
:diffget RE
的快捷方式? - 也许有一种方法 select 只有一个 b运行ches diff 而丢弃另一个 git?
在 git 中合并有两个选项,可以默认使用远程更改(他们的)或本地更改(我们的)。
如果您只想解决合并中远程更改的冲突,您可以执行以下操作:
git merge -Xtheirs <branch>
如果您只想解决合并中本地更改的冲突,您可以执行以下操作:
git merge -Xours <branch>
您可以从git advanced merging documentation找到更多关于高级合并策略的信息。
使用 Vims global select 您可以将所有差异替换为 LOCAL、BASE 或 REMOTE
- 转到文件的第一行
:1
- 进入视觉模式
<Shift>-V
- 转到文件底部,select 所有行
G
- 在所有行上发出 diffget 命令
:diffget REMOTE