> Once a code review is accepted, the feature branch is rebased on the
> development branch (“git rebase development”). After any conflicts are
> resolved, the feature branch is merged into development (“git checkout
> development; git merge feature_branch_name”). The nice thing about using
> Phabricator is that this rebase/merge combo can be executed with a simple
> “arc land” command.
One interesting note is that Phabricator has moved away from using only
rebasing by default for landing git branches. See this commit (
https://secure.phabricator.com/D4080 ) for the full story, but now Phabricator
lets your dev team use `git merge` while developing feature branches. When you
run `arc land`, your master is merged in to your feature branch (forcing you to
resolve all conflicts) and then your feature branch is squash-merged in to
master. If your developers like to collaborate on the same branch (pushing and
pulling from the same remote,) not having to worry about rebasing is nice. At
the end, phabricator turns all of your intermediary steps into one commit
anyway so who cares what's going on before then?