Rebase multiple branches at once
Project description
git-rebase-branches
Rebase multiple branches at once.
Say I have a number of feature branches, and new commits are added to main:
dmtucker@localhost:/tmp/tmp.97ZHC4YUiK $ git branch -vv
feature1 2511789 Add feature #1
feature2 339ff60 Make fizz do buzz
* feature3 618d195 Improve thing greatly
main 77bf560 New commits to main!
My feature branches are no longer based on main and all need to be rebased:
dmtucker@localhost:/tmp/tmp.97ZHC4YUiK $ git log --graph feature1 feature2 feature3 main
* 618d195 (HEAD -> feature3) Improve thing greatly
| * 339ff60 (feature2) Make fizz do buzz
|/
| * 2511789 (feature1) Add feature #1
|/
| * 77bf560 (main) New commits to main!
|/
* cd9b6c6 Initial commit
git-rebase-branches can help with that:
dmtucker@localhost:/tmp/tmp.97ZHC4YUiK $ git-rebase-branches main
$ git for-each-ref --no-contains main '--format=%(refname:short)' refs/heads/
feature1
feature2
feature3
$ git stash push --include-untracked
No local changes to save
$ git log -n1
618d195 (HEAD -> feature3) Improve thing greatly
$ git rebase main feature1
Successfully rebased and updated refs/heads/feature1.
$ git rebase main feature2
Successfully rebased and updated refs/heads/feature2.
$ git rebase main feature3
Successfully rebased and updated refs/heads/feature3.
$ git -c advice.detachedHead=false checkout feature3
Already on 'feature3'
==================================== SUMMARY ====================================
- feature1 (succeeded)
- feature2 (succeeded)
- feature3 (succeeded)
- Note: Once you run the first command,
git-rebase-branchesprints and runs the rest.
Now, all feature branches are based on main:
dmtucker@localhost:/tmp/tmp.97ZHC4YUiK $ git log --graph feature1 feature2 feature3 main
* 069fcca (HEAD -> feature3) Improve thing greatly
| * e32b491 (feature1) Add feature #1
|/
| * 8fffd21 (feature2) Make fizz do buzz
|/
* 77bf560 (main) New commits to main!
* cd9b6c6 Initial commit
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file git_rebase_branches-2.0.1.tar.gz.
File metadata
- Download URL: git_rebase_branches-2.0.1.tar.gz
- Upload date:
- Size: 15.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd7e44adf5065a614e982cd2dd3b57808880adc9881396771b11c70411b7078e
|
|
| MD5 |
c0eb9477c3a96f517c0fef11b9a1c38a
|
|
| BLAKE2b-256 |
c235de7e06017a6970961abb5517c3ea7bf08edf68f6699107850f4ea983a443
|
File details
Details for the file git_rebase_branches-2.0.1-py3-none-any.whl.
File metadata
- Download URL: git_rebase_branches-2.0.1-py3-none-any.whl
- Upload date:
- Size: 12.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ddff8e696879931e9327849d401829a40ba5fdc62118186a8010d3eeb412bf9
|
|
| MD5 |
fc51b474549fa060dc7f0a178f67bda2
|
|
| BLAKE2b-256 |
d82588e168fd532360ad9772bd676fa3d60d989eeeab61cc7c9feb6800f5b2a4
|