git clone path/to/test/repo.git
git config push.default matching
git branch -a
* master
origin/master
origin/test
git checkout -t origin/test
Branch test set up to track remote branch test from origin.
Switched to new branch 'test'
echo one > test
git add test && git commit -m "Test file 1"
git push
*Pushes master and test to origin*
echo two > test && git commit -am "Test file 2"
git checkout master
git push
*Pushes master and test to origin*
git branch -D test
git checkout -b origin_test origin/test
Branch origin_test set up to track remote branch test from origin.
Switched to new branch 'origin_test'
echo two_point_one > test && git add test && git commit -m "Test file 2.1"
git push
*Pushes master to origin*
echo two_point_two > test && git commit -am "Test file 2.2"
git push origin
*Pushes master to origin*
echo two_point_three > test && git commit -am "Test file 2.3"
git checkout master
git push
*Pushes master to origin*
git branch -D test
git checkout --no-track -b test origin/test
Switched to new branch 'test'
echo three > test && git add test && git commit -m "Test file 3"
git push
fatal: No destination configured to push to.
git push origin
*Pushes master and test to origin*
echo four > test && git commit -am "Test file 4"
git checkout master
git push
*Pushes master and test to origin*
git branch -D test
git checkout --no-track -b origin_test origin/test
Switched to new branch 'origin_test'
echo five > test && git add test && git commit -m "Test file 5"
git push
fatal: No destination configured to push to.
git push origin
*Pushes master to origin*
echo six > test && git commit -am "Test file 6"
git checkout master
git push
*Pushes master to origin*
git push origin
*Pushes master to origin*
git branch -D origin_test
(I'm using 1.7.4 msysgit, use push.default upstream for 1.7.6+)
git config push.default tracking
git checkout -t origin/test
Branch test set up to track remote branch test from origin.
Switched to new branch 'test'
echo seven > test && git add test && git commit -m "Test file 7"
git push
*Pushes test to origin*
git branch -D test
git checkout --no-track -b test origin/test
Switched to new branch 'test'
echo eight > test && git add test && git commit -m "Test file 8"
git push
fatal: No destination configured to push to
git push origin
fatal: The current branch test is not tracking anything.