Skip to content

Commit

Permalink
Add Transition A Branch From One Base To Another as a Git TIL
Browse files Browse the repository at this point in the history
  • Loading branch information
jbranchaud committed Oct 2, 2022
1 parent 777239d commit fecf116
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 1 deletion.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 10,7 @@ pairing with smart people at Hashrocket.

For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186).

_1250 TILs and counting..._
_1251 TILs and counting..._

---

Expand Down Expand Up @@ -317,6 317,7 @@ _1250 TILs and counting..._
- [Stashing Only Unstaged Changes](git/stashing-only-unstaged-changes.md)
- [Stashing Untracked Files](git/stashing-untracked-files.md)
- [Switch To A Recent Branch With FZF](git/switch-to-a-recent-branch-with-fzf.md)
- [Transition A Branch From One Base To Another](git/transition-a-branch-from-one-base-to-another.md)
- [Turn Off The Output Pager For One Command](git/turn-off-the-output-pager-for-one-command.md)
- [Two Kinds Of Dotted Range Notation](git/two-kinds-of-dotted-range-notation.md)
- [Unstage Changes Wih Git Restore](git/unstage-changes-with-git-restore.md)
Expand Down
23 changes: 23 additions & 0 deletions git/transition-a-branch-from-one-base-to-another.md
Original file line number Diff line number Diff line change
@@ -0,0 1,23 @@
# Transition A Branch From One Base To Another

Let's say I'm working in a git workflow where we have `main` as our production
branch and `dev` as our development branch. I've opened a feature branch off of
`main` and made a series of commits. It is at that point that I realize I
should instead be branched off `dev`. I could open up a new branch off `dev`
and then `cherry-pick` those commits. That is messier and more steps than
necessary.

Instead, I can transition the feature branch I'm already working from to a
different base.

The [`git-rebase`](https://git-scm.com/docs/git-rebase) command supports this
with the `--onto` flag.

```bash
$ git rebase --onto dev main my-feature-branch
```

Specify the new base branch (`dev`), the current base (`main`), and then the
name of the branch you are transitioning (`my-feature-branch`).

[source](https://stackoverflow.com/a/10853956/535590)

0 comments on commit fecf116

Please sign in to comment.