• Vincent Driessen's avatar
    Added new experimental `feature pull` subcommand. · f68d405c
    Vincent Driessen authored
    This new subcommand lets you easily work together with peers on features. It's
    intended to be extremely simple to pull changes from your co-developers.
    
    This implementation may also be ported to release and/or hotfix branches in the
    near future, if we agree on the final implementation details.
    
    Example use
    ===========
    Sharing development of feature branches goes as follows:
    
    Suppose Alice and Bob are both developers on project Foo.  They have local
    repos that are up-to-date with `origin`.  Then, Alice starts working on some
    feature:
    
       alice$ git flow feature start newprotocol
       Switched to a new branch 'feature/newprotocol'
       ...
    
    Then, she hacks on the new feature, commits as desired, until the feature's
    finished.  She then likes Bob to code-review the feature, so she asks Bob to
    pull from her.  (Assuming Bob has a Git remote defined, pointing to Alice's
    repo.)
    
        bob$ git remote
        alice
    
        bob$ git branch
        * develop
          feature/reader
          master
    
        bob$ git flow feature pull alice newprotocol
        Created local branch feature/newprotocol based on alice's feature/newprotocol.
    
        bob$ git branch
          develop
        * feature/newprotocol
          feature/reader
          master
    
    Since the new feature branch is already checked out, Bob can immediately start
    peer reviewing the code.  He changes the code as desired and commits each
    comment individually, so Alice can later read the Git commit log as the peer
    review log.
    
        bob$ git commit
        [feature/newprotocol 1f6fa95] Forgot return statement.
         1 files changed, 1 insertions(+), 1 deletions(-)
        ...
    
    When he's finished, he tells Alice he's done.  Alice then, in turn pulls in the
    peer review commits from Bob, using the same command Bob used to fetch the
    changes initially.  (Because feature/newprotocol is still her current branch,
    she may omit the explicit 'newprotocols' argument.)
    
        alice$ git flow feature pull bob
        Pulled bob's changes into feature/newprotocol.
    
    If she disagrees with Bob's comments, she may again commit changes and ask Bob
    to do the same again.  This leads to a continuous pull cycle until both parties
    agree on the final implementation.  Then, Alice (as the feature owner) finished
    the feature.  Bob may discard his feature branch.
    f68d405c
Name
Last commit
Last update
shFlags @ 2fb06af1 Loading commit data...
.gitmodules Loading commit data...
AUTHORS Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README.mdown Loading commit data...
bump-version Loading commit data...
git-flow Loading commit data...
git-flow-feature Loading commit data...
git-flow-hotfix Loading commit data...
git-flow-init Loading commit data...
git-flow-release Loading commit data...
git-flow-support Loading commit data...
git-flow-version Loading commit data...
gitflow-common Loading commit data...
gitflow-shFlags Loading commit data...