On Thursday, May 9, 2013 1:14:40 PM UTC+2, Bogdan Valentin Neacsa wrote: > Hello, > > I've read some nice things about git rebasing workflow here: > http://mettadore.com/analysis/a-simple-git-rebase-workflow-explained/ > > I'm suppose to use this in a project with the following structure: > > develop > / \ > 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 Git. 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: http://blog.sourcetreeapp.com/2012/08/21/merge-or-rebase/ -- 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 to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.