Hacker News new | past | comments | ask | show | jobs | submit login

A 'merge commit' is the commit that ties together two strands.

    *   merge commit
    |\
    | * branch work
    | |
    | * branch work
    |/
    * 
If you squash to merge, typically you're also going to rebase it (equivalently, if it's more familiar, cherry-pick the squash onto the branch your 'merging' it into).

    *     squash cherry-picked / rebased
    |   * both branch works squashed
    | * | branch work
    | | |
    | * | branch work
    |/_/
    *
(In this case the target branch could have been fast-forwarded, but this also works if there's some other work on the mean time:)

    *     squash cherry-picked / rebased
    |
    *     something unrelated
    |   * both branch works squashed
    | * | branch work
    | | |
    | * | branch work
    |/_/
    *



I know. It means that the only commits left are the ones that originally where merge requests, and you loose the rest of the history.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: