在保留.gitignore文件的同时保留存储库中所有文件的副本

时间:2015-08-19 23:16:58

标签: git github

我有一个Laravel仓库,我正在研究这是一个带有标准.gitignore文件的git仓库,我稍微修改了这些文件以满足项目的需要。

每次,我将repo推送到github,生产所需的所有文件都会更新,但忽略的文件不会。如果我想移动到另一台机器并克隆项目,这会出现问题,因为我需要的第一台机器上的某些文件尚未发布这些文件。

理想情况下,我想维护一个忽略所有文件的回购,但也要回收所有文件。

这可以通过git还是其他最佳实践来实现?

2 个答案:

答案 0 :(得分:0)

目前还不清楚为什么需要这样做,但可以做到。你可以有两个分支,一个分支包含.gitignore中的文件

进行设置:

git add remote all-files <URL_TO_REMOTE>

之后,在主分支上进行更改并想要更新所有文件远程:

git push all-files master

使用此设置,master将只包含不在.gitignore中的文件,而all-files将包含所有文件,而不管[name='ORDER_PNAME[]']

如果您想将这些分支机构分成两个不同的存储库,就像创建新的存储库一样简单,使用[ ]将其设置为新的远程控制器,并在推送全部存储库时使用console.log(value)文件分支。

答案 1 :(得分:0)

您不应该在存储库中放置的唯一文件是包含敏感信息的配置文件,在不同计算机上可能不同的设置(例如路径)或可以更改的设置,而无需在代码(例如,页面上显示的项目数)。

此类配置文件的标准做法(假设其名称为config.txt)是创建包含默认值的文件版本(对于密码等敏感信息为空)以及解释可能值的注释可配置参数,它们的含义aso

将副本命名为config.txt.dist,并在将config.txt添加到.gitignore时将其放入存储库。

当在新机器上检查项目时,他/她会将config.txt.dist复制为config.txt,填写其中的相应设置并准备就绪。

程序员必须注意保持本地config.txtconfig.txt.dist同步。一些框架(例如Symfony)提供了从config.txt创建config.txt.dist的工具,并在项目准备部署时更新它。

config.txt替换为适合您项目的名称以及用于构建项目的语言。