我有一个远程存储库,我想在其中提交某些文件(在云计算平台上部署它们的编译文件),但我不想在github上部署它们……
有没有什么方法可以保存不同的.gitignore文件,每个遥控器一个?
发布于 2012-05-07 08:00:30
这在git的模型中是没有意义的。Commits包含多组文件;所有.gitignore文件所做的就是告诉UI不要自动添加与某些模式匹配的文件。这实际上意味着拥有几乎相同的并行提交集,但只包含文件的一个子集。
可以使用分支方案来实现这一点,在分支方案中,您有一个“部署”分支,该分支从master中拆分出来,它是相同的,但包含额外的编译文件。这甚至可以通过git钩子自动编译文件并将其添加到repo中。我设想了一个这样的结构:
master: A ---> B ---> C ---> D
\ \ \ \
\ \ \ \
deployment: -> A' -> B' -> C' -> D'
也就是说,每当某个服务器在master上获得新的提交时,它就会构建项目,将构建的文件添加到D的新提交中,并将其提交到deployment分支--然后不必推送到github。
发布于 2017-04-26 04:28:55
我想出了一个方法来做到这一点。
在我的例子中,我需要将项目与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)
因此,这不是一个包含两个具有不同.gitignore
的远程存储库的git存储库。
有两个不同的存储库。
在最里面,我只排除了IDE生成的文件和一些在运行时生成的文件。
在最外层,我排除了所有不能公开的文件。
发布于 2016-10-27 04:41:57
另一个选择是git submodules。
例如,如果您希望代码和文档位于两个不同的代码库中,并具有独立的访问控制等,那么这将非常有用。因此,您总共有3个代码库,一个子模块代码库,另一个代码库,以及包含这两个代码库的“主”(而不是git子模块)代码库(可能是用于pypi上传)。这是一个很好的组织CS教科书项目的方式。这两个项目都可以愉快地独立进行,并在主存储库维护者的驱动下在主要版本中同步。
https://stackoverflow.com/questions/10475273
复制相似问题