{"id":18611617,"url":"https://github.com/twosigma/git-meta","last_synced_at":"2025-07-04T09:33:20.811Z","repository":{"id":8604014,"uuid":"50928273","full_name":"twosigma/git-meta","owner":"twosigma","description":"Repository for the git-meta project -- build your own monorepo using Git submodules","archived":false,"fork":false,"pushed_at":"2023-01-23T01:23:47.000Z","size":4069,"stargazers_count":224,"open_issues_count":112,"forks_count":51,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-03-31T08:12:03.478Z","etag":null,"topics":["git","git-meta","monorepo","repository"],"latest_commit_sha":null,"homepage":"http://twosigma.github.io/git-meta","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/twosigma.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-02-02T15:01:24.000Z","updated_at":"2025-03-08T18:32:49.000Z","dependencies_parsed_at":"2023-02-12T19:32:05.374Z","dependency_job_id":null,"html_url":"https://github.com/twosigma/git-meta","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twosigma%2Fgit-meta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twosigma%2Fgit-meta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twosigma%2Fgit-meta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twosigma%2Fgit-meta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/twosigma","download_url":"https://codeload.github.com/twosigma/git-meta/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247634071,"owners_count":20970454,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","git-meta","monorepo","repository"],"created_at":"2024-11-07T03:14:23.835Z","updated_at":"2025-04-07T10:26:16.581Z","avatar_url":"https://github.com/twosigma.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n    Copyright (c) 2016, Two Sigma Open Source\n    All rights reserved.\n\n    Redistribution and use in source and binary forms, with or without\n    modification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright notice,\n      this list of conditions and the following disclaimer in the documentation\n      and/or other materials provided with the distribution.\n\n    * Neither the name of git-meta nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\n    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n    POSSIBILITY OF SUCH DAMAGE.\n--\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"/doc/git-meta-logo.png\" width=\"600\"\u003e\n\u003c/p\u003e\n\n[![Build Status](https://travis-ci.org/twosigma/git-meta.svg?branch=master)](https://travis-ci.org/twosigma/git-meta)\n\n# What is git-meta?\n\nGit-meta allows developers to work with extremely large codebases --\nperformance only degrades very slowly when physical size, number of\nfiles, number of contributors increases, or the depth of history grows.\nYou can use granular ACLs with git-meta to help refine the scope of work.\nUsers only need to clone the subsets of the code that they need, yet they\ncan still make atomic commits across the entire codebase.  Development and\ncollaboration are done mostly using normal Git commands; we provide a Git\nplug-in for ease-of-use.\n\n## A little more detail\n\nGit-meta both describes an architecture and provides a set of tools to\nfacilitate the implementation of a *mono-repo* and attendant workflows.  Aside\nfrom the ability to install the tools provided in this repository, git-meta\nrequires only Git.  Git-meta is not tied to any specific Git hosting solution,\nand does not provide operations that are hosting-solution-specific, such as the\nability to create new (server-side) repositories.\n\nA detailed description of the architecture of Git-meta is provided in\n[doc/architecture.md](doc/architecture.md).\n\n# Getting Started\n\n## Installation\n\nTo install the git-meta plugin:\n\n```bash\n$ git clone https://github.com/twosigma/git-meta.git\n$ cd git-meta/node\n$ npm install -g\n```\n\n## Quick Start / Basic Usage\n\n### Clone\n\nClone your organization's meta-repository as you normally would with Git:\n\n```bash\n$ git clone http://example.com/my-meta-repo.git meta\n$ cd meta\n````\n\nAt this point, your working directory is likely full of empty directories where\nsub-repos are mounted.  Open the one(s) you're interested in working on and\ncreate out a feature branch to work on:\n\n```bash\n$ git meta open my-repo\n$ git meta checkout -b my-feature\n```\n\nNow, change a file:\n\n```bash\n$ cd my-repo\n$ echo \"new work\" \u003e\u003e some-file\n```\n\nMake a commit:\n\n```bash\n$ git meta commit -a -m \"I made a change.\"\n```\n\nAnd push your change back upstream:\n\n```bash\n$ git meta push origin my-feature\n```\n\n# Documentation\n\n## User Guide\n\nRun `git meta --help` to see information about git-meta commands, or see the\nuser guide at [doc/user-guide.md](doc/user-guide.md) for more information.\n\n## Administration\n\nTo learn how to set up and maintain a mono-repo using git-meta, please see:\n[doc/administration.md](doc/administration.md).\n\n## Architecture\n\nA detailed description of the architecture of Git meta is provided in\n[doc/architecture.md](doc/architecture.md).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwosigma%2Fgit-meta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftwosigma%2Fgit-meta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwosigma%2Fgit-meta/lists"}