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?
You will usually push your local branch to a remote branch of the same name—but not always. To push to a branch of a different name, you just need to specify the branch you want to push and the name of the branch you want to push to separated by a colon (:).
No, git push only pushes commits from current local branch to remote branch that you specified in command.
Instead of using git pull
(which fetches and merges), try git fetch
(which won't try to merge with your current branch on machine2, and cause conflicts):
# Machine 1 $ git push origin testing # Machine 2 $ git fetch origin testing $ git checkout -b testing origin/testing
You have successfully pushed the testing branch to origin so now you just need to get the branch to machine2.
Not sure of the state of teh repo on machine2 so I would delete the directory (Or create a new one to use) and just clone the repo on Machine2 and checkout testing ...
So on Machine2 in an empty dir (new or clean):
$ git clone git@github/somewhere $ git branch * master $ git checkout testing # ... # something about getting and switching # ... $ git branch * testing master
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With