How to organize 50 related rails apps with git?

I’m embarking with 50 related rails apps that will have minor differences between them – the css may differ and maybe each app will have different routes and different titles for the views for the sake of SEO and so on.

But i want all 50 apps to be consistent when i change other things. So basically i will have to end up with my own cms and each website will have different settings.

  • Should I add the Rails 4 bin/ directory to git?
  • Upstart - navigate to directory, git pull, then run daemontools
  • API Management with GIT
  • Set up updating source code on server by Using GitHub’s Service Hooks
  • Named stages as git checkout-index parameters
  • Git push upstream
  • I’m sure i’m not the first person to encounter this problem. How would i go about organizing this while using Rails, git, github and heroku so that when i deploy, all apps update and remain consistent but still hold their own settings?

  • Can not push changes after using git reset --hard
  • git-bisect but for N repos
  • Issue in sending new user notification in GitLab
  • Git renaming file. History is available on cmd-line, but not in github interface?
  • SourceTree (Git) Relative Date Format?
  • GitX-L: missing object 0000000000000000000000000000000000000000
  • 3 Solutions collect form web for “How to organize 50 related rails apps with git?”

    I fork a base project and keep it as “upstream”.
    I clone the forked project in my development environment and keep it as “origin”.
    So my development environment has an origin and an upstream.

    When I do something that effects all forked projects, I do the change in upstream, then I go into each project, pull from upstream and merge.

    You can also have a hierarchy of upstreams and keep them synchronized with the original upstream.

    If those are purely configuration files, the best approach is to follow the Heroku page “Configuration and Config Vars”:

    Don’t put those files in a Git repo itself.

    Use the Heroku CLI’s config, config:add, config:get and config:remove to manage your config vars

    I’m a huge fan of only having to maintain one project if it’s possible. If it’s only the (user-controlled) styling of an app you might go with a multi-tenant approach in the basecamp style. Your app would display different endpoints, e.g. differentiated by subdomains, that you could also point different top-level domains to. The variable parts of the app then needs to be stored in the database, such as e.g. the styles, layouts, and whatever user-controlled content you have. One approach is outlined in the answers to this question, though there are definitely more ways.

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