heroku and github at the same time

So I understand that heroku functions as a git repository, but let’s say i want to use github as well as a repository. How do I set it up such that I have two repositories and both are in sync?

  • git log --branches with prefix
  • .git/config file reads “command not found”
  • Detecting current directory in bash script
  • What is .gitignore exactly?
  • specify default branch for a non-default remote for pull
  • SSH Permission denied on reboot
  • How to remove unwanted extra root commit in git repository?
  • Unable to execute git push from Package Manager Console with GitHub for Windows installed
  • Fix Git “object not found” for good
  • Can't git push to Azure anymore
  • Git repo not updating github.io content
  • Git fsck: killed. Is my repo ok?
  • 6 Solutions collect form web for “heroku and github at the same time”

    You can have multiple remotes on a git installation. You would have a github remote, and a heroku remote.

    Assuming you already have github setup, then you probably push to github with something like:

    git push origin master

    origin is your remote, and master is your branch.

    Follow the instructions in getting started with Heroku choose your desired language and continue through the tutorial. This tutorial assumes that you already have github setup, and will show you how to create your heroku remote – via heroku create.

    You then push to github as normal, and push to heroku via:

    git push heroku master

    The same format applies – heroku is your remote, and master is your branch. You are not overwriting your Github remote here, you are adding another, so you can still do both pushes via one commit with workflow such as:

    git add .
    git commit -m "Going to push to Heroku and Git"
    git push origin master -- push to Github Master branch
    git push heroku master -- push to Heroku
    

    If you want to be able to push and pull to multiple remotes:

    First add them:

    git remote add origin <github repo>
    git remote add herkou git@heroku.com:<app name>.git
    

    Then push

    git push origin master
    git push heroku master
    

    If you want to push to both remotes at the same time:

    Edit you configuration file so origin points to both heroku and github:

    git config -e
    

    Add/Replace:

    [remote "origin"]
        url = git@github.com:username/somerepo.git
        url = ssh://git@bitbucket.org/username/somerepo.git
    

    Since you are using github you can integrate with heroku by navigating to:

    https://dashboard.heroku.com/apps/<app name>/settings#github-repo
    

    and adding your repository’s name.

    github integration

    If you want to automatically push to heroku after committing to GitHub:

    you will need to use a continuous integration platform like TravisCI.

    Here are the steps to make this work. Be careful what you push to production, make sure it works before it gets deployed. Each method has its pros and cons.

    I think this is actually the recommended case; the Heroku git repository function is really for deployment and not code management.

    Just use github to manage your code as usual, but additionally push to the Heroku git repository when you are ready to deploy. There is no need to keep them in sync with automated tools etc., because you want to be able to push to your github repository without deploying, for instance so that you can back up or collaborate on unfinished features or maintain separate staging and production environments.

    I do this quite often. I create a site for Heroku but I want to keep my source in Github for archival purposes. I set up to remotes:

    git remote add origin <github repo>

    and

    git remote add heroku <heroku repo>

    Then you can just git push origin master and then git push heroku master. Heroku also allows you to associate a github repo for the purposes of seeing commit diffs.

    Since nobody mentioned that before. Git allows you now to add multiple urls to each remote. Just do it like this:

    this will add fetch and push from github:

    git remote add origin git@github.com:yourName/yourGithubRepo.git
    

    this will override github push with heroku push:

    git remote set-url origin --push --add git@heroku.com:yourHerokuRepo.git
    

    this will re-add github push:

    git remote set-url origin --push --add git@github.com:yourName/yourGithubRepo.git
    

    and that’s a final output:

    $ git remote -v
    origin  git@github.com:yourName/yourGithubRepo.git (fetch)
    origin  git@heroku.com:yourHerokuRepo.git (push)
    origin  git@github.com:yourName/yourGithubRepo.git (push)
    

    After that just run:

    git push
    

    If, instead of working, it’s saying sth about setting upstream, then type this first:

    git push --set-upstream origin master 
    

    If you don’t want to manage two repositories and just the one at Github, here’s how you can do that (Assuming that you have already created an Heroku app).

    1) First, clone the Heroku repository to your local.

    2) Then create a Github repo and push this local there.

    3) Once that is done, use wercker

    4) Goto “Add an Application” and fill in the details. They are fairly simple. Use the Github repository you just created.

    5) After adding the application goto Setting and add a Deploy Target. Select heroku from the list. And then select the Heroku app you had created eariler and branches you would like to push.

    That’s it! You’re done. Now your Github repository is in sync with your Heroku application.
    Anything you push to the Github repo using

    git push origin master
    

    will be automatically deployed to your Heroku application. This way you have your repository on Github to manage and you only have one repo to deal with. 🙂

    Git Baby is a git and github fan, let's start git clone.