1.init .git
twice
$ git init --separate-git-dir=src.git
$ rm .git
$ git init --separate-git-dir=prd.git
$ rm .git
2.prepare aliases
$ touch deploy.sh
$ nano deploy.sh
3.paste that to deploy.sh
#!/bin/sh
alias prd='git --git-dir=prd.git'
alias src='git --git-dir=src.git'
4.run deploy.sh
$ source deploy.sh
5.specify local individual .gitignores
$ src config --add core.excludesfile src.gitignore
$ prd config --add core.excludesfile prd.gitignore
6.profit