如何在git中维护旧文件(但不在生产中)

如何在git中维护旧文件(但不在生产中),git,version-control,dev-to-production,Git,Version Control,Dev To Production,我有一个git存储库,我希望将一些文件保存在源代码管理中,但不在生产中(我的主分支代表生产)。我认为,理想情况下,我希望有一个名为“备份”的本地文件夹,它被推送到GitHub,而不是生产 示例 生产服务器应具有:june.png GitHub应该有:一月、二月、三月、四月、五月、六月、七月等 我的目标是最大限度地减少我的生产占地面积,并避免通过url(/images/janur.png)访问备份文件 我应该如何实现这一点?无论你做了什么,都不会在git中丢失 只需添加一个新的commit,它将删

我有一个git存储库,我希望将一些文件保存在源代码管理中,但不在生产中(我的主分支代表生产)。我认为,理想情况下,我希望有一个名为“备份”的本地文件夹,它被推送到GitHub,而不是生产

示例
生产服务器应具有:june.png
GitHub应该有:一月、二月、三月、四月、五月、六月、七月等

我的目标是最大限度地减少我的生产占地面积,并避免通过url(/images/janur.png)访问备份文件


我应该如何实现这一点?

无论你做了什么,都不会在git中丢失

只需添加一个新的commit,它将删除生产不再需要的所有旧文件

如果你想查看这些文件,只需签出旧版本就可以了

您甚至可以指定一个时间:

git co master@{yesterday}

这将显示给定时间的所有文件


如果明确希望删除这些文件的项目的另一个版本,请使用新的分支,删除其中的文件,然后从另一个分支合并,以包括在那里所做的任何更改

git branch -m production
git rm $files
git commit -m 'delete old files'
git push -u origin production
git checkout master
# update project
git commit -am 'introduced cool feature'
git push origin master
git checkout production
git merge master

这样,master将删除github和production的所有文件以及旧文件。只要您不开始更改旧文件,从主文件到生产文件的合并就不会引起冲突。

您提交的任何内容都不会在git中丢失

只需添加一个新的commit,它将删除生产不再需要的所有旧文件

如果你想查看这些文件,只需签出旧版本就可以了

您甚至可以指定一个时间:

git co master@{yesterday}

这将显示给定时间的所有文件


如果明确希望删除这些文件的项目的另一个版本,请使用新的分支,删除其中的文件,然后从另一个分支合并,以包括在那里所做的任何更改

git branch -m production
git rm $files
git commit -m 'delete old files'
git push -u origin production
git checkout master
# update project
git commit -am 'introduced cool feature'
git push origin master
git checkout production
git merge master
这样,master将删除github和production的所有文件以及旧文件。只要不开始更改旧文件,从主文件到生产文件的合并就不会引起冲突