I'm working on two machines and origin repo on third one (origin is accessible from the other two, no direct connection between machine1 and machine2).

```
# Machine 1
$ git branch
  master
* testing
  cms

# Machine 2
$ git branch
* master

```

Now, I want to push the `testing` branch to the origin and have it on machine2 too, so the final effect would be:

```
# Machine 2
$ git branch
* testing
  master

```

I have tried:

```
# Machine 1
$ git push origin testing

# Machine 2
$ git pull origin testing                # bunch of merge conflicts
$ git checkout -b testing origin/testing # errors too

```

Current state is:

```
# Machine 1
$ git branch -r
  origin/HEAD -> origin/master
  origin/master
  origin/testing

```

How to do it? 

My next question probably will be: how to delete the `origin/testing` branch?