将 1 个分支合并到另一个分支,但不是所有文件/文件夹

问题描述

我想将我的 dev-branch 合并到我的 master 中,但是有一些我不想合并的测试文件/文件夹。 我可以创建一个“中间”分支并手动删除这些文件/文件夹,但我希望有更好的解决方案来使其更快/更容易。

是否有任何类似于 git-ignore 或任何其他解决方案的选项,它总是不合并这些文件/文件夹?

解决方法

让我们假设,您只需要将分支 dev 的文件 file1.txt:|1150| file1.txt:|1150| file1.txt:|1150| 合并到分支 ma​​ster 的文件 f 中。 如果我假设所有更改都在 dev 和 master 分支中提交。然后使用这些命令。

git checkout master

git checkout --patch dev file1

第一个命令切换到 master 分支,进入你想要合并文件 1 的开发版本的地方。第二个命令使用 dev 的 HEAD 的 file1 修补 file1。您甚至可以接受/丢弃补丁的单个部分。您可以在此处指定任何提交而不是 dev,它不必是 HEAD。

现在你可能会问我:

这仅在您想要更新文件时有效。如果我想添加一个 从分支 dev 到分支 master 的新文件?

那我的答案是

您应该能够通过删除从 B 到 A 的新文件 **file1** 选项。