如何用类似`git add --patch`的界面逐块合并文件差异
交互式部分代码块合并方案需求与现有尝试
现有文件差异查看方法
diff -u "$old_file" <(echo "$new_file_content") # or git diff --no-index "$old_file" <(echo "$new_file_content")
全量覆盖操作
若认可所有改动,会执行echo "$new_file_content" > "$old_file"来覆盖原文件,但有时仅想合并差异中的部分代码块。
Git仓库中的习惯操作
在Git仓库中,习惯使用git add --patch file(仅使用y/n/s指令,s用于拆分更小的代码块)来选择暂存代码块。
核心需求
希望能有与git add --patch相同的交互界面,来合并差异中的部分内容,且支持拆分出尽可能小的代码块。若无法通过Git实现,核心需求为:
- 支持选择合并或跳过代码块
- 支持将代码块拆分为更小单元
已尝试的无效方案
- 尝试过
patch --merge=merge,但它没有交互式菜单 - 试过
nvim -d,但作为非资深Vim用户,操作起来很困惑,未能完成单文件合并
内容的提问来源于stack exchange,提问作者sloppy
相关产品推荐
相关产品推荐

