On Thursday, May 9, 2013 1:14:40 PM UTC+2, Bogdan Valentin Neacsa wrote:
> I've read some nice things about git rebasing workflow here:
> I'm suppose to use this in a project with the following structure:
> / \
> dev_frontend dev_backend
> / \
> dev_devnames dev_devnames
> Basically we all work in our own dev_devname branch which will be rebased
> either against backend or frontend depending on team we are in. No one else
> but dev will push to his own branch, and as soon as a feature is done, a
> pull request is made to parent branch, then you move on on your branch with
> next feature and so on.
> We should rebase often from parent branch. Now I've understood how rebase
> works from that link I posted as long as I have a local branch with
> commits, which is at the end merged into parent and dropped. I can't seem
> to understand how this would work with the above case.
> Say I rebase from backend, and now push to origin dev_devname . The commit
> history is now on repo. Now when I start new features/continue work when I
> rebase from backend my commit history will change again. Now when I try to
> push to dev_devname I cannot and need to pull from there. But pull now
> gives me conflicts that I need to fix. Is this normal or am I
> missunderstanding the workflow here?
I think the workflow here seems overly complicated, as I don't see the
advantage of having these intermediate backend- and frontend branches.
Now, back to your concrete question. It's a bit hard to say exactly where
it goes wrong since you don't include any list of commands or output from
But generally: You say you have pushed (published) the work on your
personal branch "dev_devname", I assume to some shared repository. Then you
rebase the local "dev_devname" branch? Well then of course you can't push
to "dev_devname" again. You have rewritten history, and hence diverged from
the history you already pushed. This is why rebasing, or rewriting history
in a published branch is a bad thing.
You need to decide in this case if you want to overwrite the already
published history with your local history. But before you do this you
should read some more about how rebase and merge really works. I can't
really say what is the best resource for you to read, but here's one to
start off with:
You received this message because you are subscribed to the Google Groups "Git
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email
For more options, visit https://groups.google.com/groups/opt_out.