git:隐藏分支上的详细提交

时间:2015-07-30 07:06:47

标签: git

我想知道这是否可以在git中使用。所以我有主分支。我将一次又一次为功能开发创建一个侧支。当它完成后,我会将它合并回主人。现在通常,侧分支上的所有提交历史记录都将显示在主分支中。有没有办法让所有提交在主服务器上显示为一个?

2 个答案:

答案 0 :(得分:3)

$ git checkout master
$ git merge --squash <branch>

来自docs强调我的):

  

<强> - 壁球
  --no-壁球
  生成工作树和索引状态,就好像发生了真正的合并(合并信息除外),但实际上并没有   进行提交,移动HEAD或记录$ GIT_DIR / MERGE_HEAD(导致   下一个git commit命令来创建合并提交)。 这可以让你   在当前分支的顶部创建单个提交,其效果是   与合并另一个分支相同(或章鱼的情况下更多)。

     

使用--no-squash执行合并并提交结果。这个选项   可以用来覆盖--squash。

答案 1 :(得分:2)

假设您在侧支部上进行了开发:

git checkout -b dev_branch
< do your changes, and commit them >

现在,如果您希望所有提交都显示为一次提交,则执行以下操作。如果要保留所有提交,请跳至以下步骤。

git rebase -i master
< in the interface you should now keep the first commit, and select `squash` for all the successive commits >

现在您想重新 侧分支上的主分支并删除该分支:

git checkout master
git rebase dev_branch
git branch -d dev_branch