Question

How can I push a specific branch of Git to my server?

I'm working to deploy a Django app. The app built on a Github OS project. I have this stored locally as the Master branch.

$ git branch   
* master  
  customized - customized with local dev settings  
  webfaction_customized - with production server settings 

The customizations for this project are stored in 2 separate branches.

My plan was to perform my customization locally in 'customized', then merge those changes into 'webfaction_customized'

Then push these changes to a bare repository on the production_server: I would then clone this bare repository on the production_server, change the settings in the cloned repository and restart the fcgi process.

The first problem was that I found this if I tried to push a branch to the server that wasn't master, I could not clone from the bare repository.

So I tried to push the master branch to the server.

git push webfaction_server master

But now I'm finding that none of my branches are uploaded.

Is there some way to push a specific branch to a bare repository and be able to clone that branch?

OR

Do I need to restructure my project so that Master branch is my customizations and the Github project would be in a github branch?

 45  77226  45
1 Jan 1970

Solution

 77

You would simply do:

git push origin webfaction_customized

Where origin is your remote name and webfaction_customized is your custom branch.

Hence, when you work on the master branch, you are pushing via:

git push origin master
2013-02-27

Solution

 5

You would simply do:

git push origin localBranchName:remoteBranchName
2020-08-28