Git命令仅暂存没有冲突标记的文件?

Git命令仅暂存没有冲突标记的文件?,git,Git,Bazaar有一个方便的bzr resolve命令,该命令将递归地将冲突文件标记为已解决,但前提是它们的冲突标记已被删除。git是否有等效的命令或脚本 我的存储库包含缩小的Javascript。我知道跟踪合并后经常发生冲突的编译文件并不理想,即使未缩小的源代码完全合并。它很容易通过重新缩小和解决来修复,并且不需要任何手动冲突解决。我的团队正在从Bazaar迁移到Git,我们已经开始依赖bzr resolve对带有冲突标记的文件的智能处理:缩小后盲目地在项目根上运行它是安全的。在将来,我希望自动化

Bazaar有一个方便的bzr resolve命令,该命令将递归地将冲突文件标记为已解决,但前提是它们的冲突标记已被删除。git是否有等效的命令或脚本

我的存储库包含缩小的Javascript。我知道跟踪合并后经常发生冲突的编译文件并不理想,即使未缩小的源代码完全合并。它很容易通过重新缩小和解决来修复,并且不需要任何手动冲突解决。我的团队正在从Bazaar迁移到Git,我们已经开始依赖bzr resolve对带有冲突标记的文件的智能处理:缩小后盲目地在项目根上运行它是安全的。在将来,我希望自动化这个过程,并将编译后的代码完全从存储库中取出,但现在我正在寻找一种在Git中镜像当前过程的方法


我知道git diff-check将报告剩余的冲突标记,但在运行git add之前运行它并检查其输出仍然是额外的工作。运行一个查找冲突标记的pre-commit钩子并不理想,除非这个钩子还可以取消转移有问题的文件并将它们标记为未解决的文件,我还没有发现如何做。有更好的选择吗?

您应该试试git mergetool。它会重新运行合并,但它会使用您选择的合并工具以交互方式执行此操作,并在您完成合并后自动暂存文件。

当您在合并或重新基址期间在git中遇到冲突时,没有冲突的文件将自动暂存,您只需要担心有冲突的文件,即,解决冲突并手动将其分阶段。无需解析没有冲突标记的文件,它们已被解析。

解析此类冲突时,可以使用以下命令之一:

git checkout --theirs <filename>
或分别为-Xours


这是一个答案,我在问题中发现:

我添加了一个中间段落来解释我的用例:存储库在整个目录树中包含已编译的文件,可以通过重新编译轻松解决,但在目录树中进行挑选和git添加每一个都很繁琐。我想一次添加它们,而不必像使用bzr resolve一样添加仍然包含冲突的源文件。
git merge -s recursive -Xtheirs