Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $ git checkout branchX
- $ git rebase --onto master master@{1}
- $ limit=$(git rev-list --topo-order --cherry master...branchX |
- sed -n -e 's/=//p' | head -1)
- $ echo $limit # if this is empty, there's no equivalent commit and you are SOL
- $ git checkout branchX # same as before
- $ git rebase --onto master $limit
- A--B--C--D--E <-- master
- F--G <-- branchX
- D'-E' <-- master
- /
- A--B--C--D--E [master was this before the copies]
- F--G <-- branchX
- A..B = (reachable(A) | reachable(B)) - (reachable(A) & reachable(B))
- D'-E' <-- master
- /
- A--B--C--D--E--F--G <-- branchX
- $ git rev-list --cherry-mark master...two
- =dcbcb2774954437ef0906c6770c7deb924d9286e
- +0af7c6a3cf5e49928de132c341c848be80ab84c7
- =643b37ef242fdc35dfdd4551b42393af3eb91a85
- $ git rev-list --left-right master...two
- >dcbcb2774954437ef0906c6770c7deb924d9286e
- <0af7c6a3cf5e49928de132c341c848be80ab84c7
- <643b37ef242fdc35dfdd4551b42393af3eb91a85
- $ git rev-list --left-only --cherry-mark master...two
- +0af7c6a3cf5e49928de132c341c848be80ab84c7
- =643b37ef242fdc35dfdd4551b42393af3eb91a85
- $ git rev-list --right-only --cherry-mark master...two
- =dcbcb2774954437ef0906c6770c7deb924d9286e
- $ git rev-list --cherry master...branchX
- $ git rev-list --cherry master...branchX | sed -n -e 's/=//p'
- $ limit=$(git rev-list --topo-order --cherry master...branchX |
- sed -n -e 's/=//p' | head -1)
- $ git checkout branchX # if needed
- $ git rebase --onto master $limit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement