Question: I have a remote repo in which I want to commit certain files (the compiled files to deploy them on a cloud computing platform), but I don't want to deploy them on github...

is there some way to have to different .gitignore files, one for each remote?

Answer: 
**Update:** you will not be able to replicate this environment using git clone, so I don't think this is a good approach

---

I figured out a way to do this.

In my case, I needed to synchronize the project with heroku and GitHub (as my public repo).

But I was not interested in sharing some files with private information in a public repository.

Usually a simple project would have the following folder structure

```
Project folder (remote heroku)
    - .git
    - .gitignore
    - (folders and files)

```

What I did was add one more level, and in it create another git repository, with a `.gitignore` that would omit some files from my project.

```
Project public (remote GitHub)
    - .git
    - .gitignore
    - Project folder (remote heroku)
        - .git
        - .gitignore
        - (folders and files)

```

So this is not a git repository with two remote repositories with different `.gitignore`s.

There are two different repositories.

On the innermost I only exclude the files generated by the IDE and some files generated at runtime.

At the outermost level, I exclude all files that cannot be make public.
An **automated solution** to the methods mentioned here:

1. Set up the root .git to ignore the subfolder(s) you you want transmitted differently
2. Init new git within the subfolder(s) and assign the remote configuration
3. Modify the root folder's .git/hooks/pre-push file to exec git push at those sub folders based on the incoming arguments.