如何将asp.net核心项目推送到Github和Heroku,而仅将appsettings.json
推送到Heroku?
我尝试了GitFlow模型,在所有分支中将appsettings.json
添加到.gitignore
,但是我命名为heroku_app
并配置了--set-remote-to=heroku/master
的那个,因此Github不会将其视为只要我从未将其合并到Github可以看到的分支上即可。
但这无法按预期工作,因为每次我实施要掌握的功能时,然后依次git checkout heroku_app
和git merge master
,就会出现.gitignore
合并冲突,不仅如此,而且git也会删除我的appsettings.json
文件。
如果只有我可以设置一个规则,以使它永远不要删除appsettings.json
或git checkout
上的git merge
,并以一个规则就永远不要更改分支.gitignore
上的heroku_app
,我会很高兴!
答案 0 :(得分:0)
我想出了一种解决问题的方法,只需将生产仓库和工作目录仓库分开,然后在生产仓库中添加两个分支,一个从github拉出,另一个推到heroku,然后添加合并排除规则从拉分公司到生产分公司 这是步骤
第一个是工作目录
第二个是我单独创建的生产目录
在工作目录目录中:
-现在敏感性vefile将被忽略,让我们转到我之前创建的生产仓库
git remote add github remoteGithubUrlHere.git
git remote add heroku remoteHerokuUrlHere.git
在全局git config中添加称为我们的合并驱动程序
git config --global merge.ours.driver true
在heroku分支中添加排除项
git checkout heroku-prod
在.gitattributes中添加“ .gitignore merge = ours”
在.gitattributes中添加“ .gitattributes merge = ours”,然后提交更改。
git checkout master
git pull github master
git checkout heroku-prod
git merge master
git checkout heroku-prod
git push -u heroku heroku-prod
.gitignore或.gitattributes中的任何更改在将主分支合并到heroku分支时都将被忽略,因此,如果此文件中有任何更改,则更改必须为: