See git-lfs/wiki/Tutorial: git lfs track '*.bin' Using git-lfs (see ) and a server supporting it: lfs-test-server, you can store metadata only in the git repo, and the large file elsewhere. Update April 2015: GitHub proposes: Announcing Git Large File Storage (LFS) Some parts of GVFS might be contributed upstream (to Git itself).īut in the meantime, all new Windows development is now (August 2017) on Git. GVFS virtualizes the file system beneath your git repo so that git and all tools see what appears to be a normal repo, but GVFS only downloads objects as they are needed. (ie: the Windows code base, which is approximately 3.5M files and, when checked in to a Git repo, results in a repo of about 300GB, and produces 1,760 daily “lab builds” across 440 branches in addition to thousands of pull request validation builds) Microsoft is contributing to Microsoft/GVFS: a Git Virtual File System which allows Git to handle " the largest repo on the planet" Is there any better solution? I don't want to force the developers to download such large files over FTP or anything similar.How to set how many revisions are preserved in a repository? Doesn't matter with the new solution.adds new lines or edits the current ones)? If git is pushing/pulling to/from repository, does it upload/download whole files, or just changes in them (i.e.And when the size of the repository becomes too large, we will send full dump to the developers and flush all data in the repository and start from the beginning. The current SQL dump will be sent to the developer another way. So, in the branch, there are files with daily changes and developer pulls the files he doesn't have. A developer pulls one of these branches if he wants to update his local copy.Ĭron on production server saves binary logs every day and pushes them into the branch of that database. Possible solutionsĪfter a backup script which dumps databases, each to a single file, execute a script which pushes each database to its own branch. The databases are large (over 500M each and counting) and I need to distribute them as easy as possible to developers for testing. When we release an application, master logs into production and pulls new version from Git. All source codes are stored in GitLab on Development server and developers are working only with this server and don't have access to production server. On Production server, there are two applications and multiple (6) databases (MySQL) which I need to distribute to developers for testing. I have two servers, Production and Development.
0 Comments
Leave a Reply. |