• Throwaway
    link
    fedilink
    71 year ago

    What you do is create a third branch off master, cherry pick the commits from the feature branch, and merge in the third branch. So much easier.

      • @[email protected]
        link
        fedilink
        51 year ago

        That is absolutely not what rebasing does. Rebasing rewrites the commit history, cherry picking commits then doing a normal merge does not rewrite any history.

        • @[email protected]
          link
          fedilink
          9
          edit-2
          1 year ago

          I’m sorry but that’s incorrect. “Rewriting the commit history” is not possible in git, since commits are immutable. What rebase actually does is reapply each commit between upstream and head on top of upstream, and then reset the current branch to the last commit applied (This is by default, assuming no interactive rebase and other advanced uses). But don’t take my word for it, just read the manual. https://git-scm.com/docs/git-rebase

          • @[email protected]
            link
            fedilink
            11 year ago

            “Reapply” is rewriting it on the other branch. The branch you are rebasing to now has a one or multiple commits that do not represent real history. Only the very last commit on the branch is actually what the user rebasing has on their computer.

            • @[email protected]
              link
              fedilink
              21 year ago

              Cherry picking also rewrites the commits. This is equivalent to rebasing:

              git branch -f orig_head
              git reset target
              git cherry-pick ..orig_head
              
            • @[email protected]
              link
              fedilink
              21 year ago

              rerere is a lifesaver here.

              (I’m also a fan of rebasing; but I also like to land commits that perform a logical and separable chunk of work, because I like history to have decent narrative flow.)

    • GigglyBobble
      link
      fedilink
      31 year ago

      If your cherry-pick doesn’t run into conflicts why would your merge? You don’t need to merge to master until you’re done but you should merge from master to your feature branch regularly to keep it updated.