Git从合并和历史中排除文件

时间:2016-02-21 20:45:43

标签: git

使用git,我想用分支B中的相同文件替换分支A中的所有文件(除了一些特定的文件)。

我不想合并,因为我不希望分支A拥有来自B的这些特定文件的历史记录。

我已经失去了几个小时并做了很多测试而没有找到答案。你能救我吗?

2 个答案:

答案 0 :(得分:0)

你可以使用通常的合并,因为你没有从A进入B的历史,你可以使用squashing-commits-with-rebase所以它将是1在提交中提交

答案 1 :(得分:0)

请注意,您要么必须拥有B的所有历史记录,要么没有B的历史记录;我假设你想要后者。

首先,在分支A上,执行git checkout B .(确保在结尾处包含句点)。这将覆盖工作目录中的所有文件和来自B的文件。然后,对于不想从B 想要的每个文件,执行git checkout A /path/to/filename。这将" un overwrite"那些文件。然后提交,你就完成了。