我想在我的公共分支中排除一个名为config / dbconfig.js的文件,我用它来推送到github,但仍然能够从master推送到我的noester.com git repo以推向生产。我将配置文件更改为:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
excludesfile = +info/exclude
[remote "nodester"]
url = *** My Git Repo ***
fetch = +refs/heads/*:refs/remotes/nodester/*
[branch "public"]
excludesfile = +info/exclude_public
我确保删除了.gitignore文件,我正在使用.git / info / exclude文件进行常规排除,并希望使用.git / info / exclude_public来排除那个文件,这样当我合并时公开该文件不合并以及不推送到github。
如果我执行以下操作,即使在公共分支中,它仍会将文件添加到git。所以我在想以太,我的语法错了,或者说不可能。
$ git checkout public
$ git add .
$ git status
# On branch public
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: config/dbconfig.json
#
如果这是不可能的,有没有更好的方法来处理数据库配置你不想在没有运行两个git存储库并在它们之间手动合并的情况下退出开放的Github项目?
答案 0 :(得分:2)
对于配置文件,最好处理内容过滤器驱动程序,而不是尝试忽略某些分支的文件。
你会:
smudge
”脚本从模板和公共值中构建目标配置文件,参见图示: