## use variables

Pulling common elements into variables will make those things easier to follow and change later.

    BRANCH_TEST="test"
    BRANCH_PASSED="test-passed"
    
    git status
    git reset --hard
    git pull origin $BRANCH_TEST
    git checkout origin/$BRANCH_TEST
    git pull origin $BRANCH_PASSED
    git checkout origin/$BRANCH_PASSED
    git merge origin/$BRANCH_TEST
    git push origin HEAD:$BRANCH_PASSED

## error checking

Is there any chance one of the steps will fail?  You could check the return value of each step or just [`set -e`](https://stackoverflow.com/a/4382179/2002471) to get bash to exit on any command having an error.

## documentation

It would be a good idea to explain what the intent of the code is.

## shebang

Presumably this is a bash script.  It would be good to make it clear by putting

    #!/bin/bash

as the first line.