我有我要提交某些文件的远程回购(编译后的文件来部署他们在云计算平台),但我不希望他们在github上部署...
是有一些方法可以有不同的.gitignore文件,为每个远程?
我有我要提交某些文件的远程回购(编译后的文件来部署他们在云计算平台),但我不希望他们在github上部署...
是有一些方法可以有不同的.gitignore文件,为每个远程?
这并不真正使Git的模型感。 提交包含文件集; 所有的.gitignore文件要做的就是告诉用户界面不会自动添加文件某些模式匹配。 什么这将有效的意思是有并行套是几乎相同的提交,但只包含文件的子集。
它会是可能的分支方案,您有一个“部署”分支,分裂出主人的,是相同的,但包含了额外的编译后的文件来做到这一点。 这甚至可以使用Git挂钩自动编译文件,并将它们添加到回购自动化。 我设想这样的结构:
master: A ---> B ---> C ---> D
\ \ \ \
\ \ \ \
deployment: -> A' -> B' -> C' -> D'
即每隔一定时间服务器上获取主一个新的提交,它生成项目,增加了内置的文件到一个新的d承诺,并承诺,要部署分支 - 这则不必推到github上。
我想出一个办法做到这一点。
就我而言,我需要用的Heroku和GitHub上的项目(如公共回购)同步。
但随着私人信息的一些文件不感兴趣的公共资源库共享
通常一个简单的项目将有以下文件夹结构
Project folder (remote heroku)
- .git
- .gitignore
- (folders and files)
我所做的是增加一个级别,并在其中创建另一git仓库,与将来自我的项目省略一些文件gitignore。
Project public (remote github)
- .git
- .gitignore
- Project folder (remote heroku)
- .git
- .gitignore
- (folders and files)
因此,这不是一个Git仓库与不同gitignores两个远程存储库。
有两种不同的存储库。
在最里面我只排除由IDE生成的文件并在运行时产生的一些文件。
在最外层,我排除所有文件不能被公开。
另一种选择是git的子模块 。
如果,例如,你希望你的代码和文档,具有自主访问控制等,所以你有3个总回购协议,一个子模块回购的文档,另一个用于代码两种不同的回购协议,而“这可能是有用主”(不是git的子模块)的含回购两者(对于上传的PyPI,也许)。 这是组织对CS教科书项目一个体面的方式。 这两个项目都可以独立进行欢快地往前走,在主要版本,由主回购维护者驱动同步。
自动化解决方案在这里提到的方法: