hi first I know rebase on remote branch is bad idea so I am here asking for suggestions if you can kindly provide some in my server I got two branches , master and release , and release is branched from master 0---0---0---0-- master \ 0---0-- release our work mainly focus on master, so we will keep committing code to master for some reasons, release branch is for others, and it has some commits that master doesn't have and now in every week, we have some stable code in master branch so we also want the release branch also has these new code 0---0---0---0---*---*---* master \ 0---0-- release how should we do now?? currently our way is doing rebase in our local pc 0---0---0---0---*---*---* master \ 0'---0'-- release in release branch $>git rebase master but in that way when we want to push the release branch back it will fail because it's non-fast-forward updates so we doing git push -f origin release to force it to 'rebase' on our remote server or if we use cherry-pick model 0---0---0---0---*---*---* master \ 0---0---*---*---* release but in this case , how do we do it in script? I mean, how do we know we need to start cherry-pick from the 1st '*' to the 3rd '*' in master more precisely , if A to E represents the commit SHA1 0---0---0---0---A---B---C---D---E master \ 0---0---A'---B'---C' release the 3 cherry-picks A' B' C' on release branch won't have the same SHA1 for A B C in master how can we know effectively we need to start cherry-pick from C to E on master thanks -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html