我有一个主分支,我为我的日常工作签出了一个名为test_branch的新分支。我在test_branch中做了很多冗余的“git commit”,所以test_branch中有很多历史提交日志。当我将test_branch合并到master时,我不希望这些历史记录日志合并到master。如何合并源文件呢?
答案 0 :(得分:3)
你这样做:
git checkout master
git merge --squash test_branch
这为master提供了一个新版本,在提交时它不会是合并。
答案 1 :(得分:0)
git merge
命令合并提交。它不合并文件。 test_branch
上的开发路径将成为项目历史记录的一部分。如果您对它不满意,您应该在该分支上执行rebase -i
并编辑以清理历史记录,使其看起来像您想要的那样,然后合并分支。如果您不关心历史记录,可以使用test_branch
将git merge --squash
上的所有提交压缩到一个提交到主服务器上。然而,这将摧毁细粒度的历史,并不会真正获得任何东西。
许多版本控制系统认为分支与主开发线完全分开,主分支在合并后唯一可以看到的是合并本身。使用git,由于其分支的轻量级特性,分支合并到主分支的开发历史也将是可见的。
答案 2 :(得分:0)
你想"壁球"或" rebase"你的提交。您可以在此处阅读有关如何执行此操作的详细信息:Squash my last X commits together using Git