{"id":13376067,"url":"https://github.com/presslabs/gitfs","last_synced_at":"2025-05-15T09:07:49.738Z","repository":{"id":45491640,"uuid":"21345110","full_name":"presslabs/gitfs","owner":"presslabs","description":"Version controlled file system","archived":false,"fork":false,"pushed_at":"2021-12-10T17:19:52.000Z","size":2577,"stargazers_count":2526,"open_issues_count":69,"forks_count":155,"subscribers_count":55,"default_branch":"master","last_synced_at":"2025-05-07T12:42:14.650Z","etag":null,"topics":["fuse-filesystem","git","python"],"latest_commit_sha":null,"homepage":"https://www.presslabs.com/code/gitfs/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/presslabs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.txt","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-06-30T08:53:33.000Z","updated_at":"2025-05-05T02:39:17.000Z","dependencies_parsed_at":"2022-07-18T23:17:53.011Z","dependency_job_id":null,"html_url":"https://github.com/presslabs/gitfs","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/presslabs%2Fgitfs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/presslabs%2Fgitfs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/presslabs%2Fgitfs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/presslabs%2Fgitfs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/presslabs","download_url":"https://codeload.github.com/presslabs/gitfs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254310515,"owners_count":22049469,"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":["fuse-filesystem","git","python"],"created_at":"2024-07-30T05:02:20.189Z","updated_at":"2025-05-15T09:07:44.730Z","avatar_url":"https://github.com/presslabs.png","language":"Python","readme":"gitfs [![Build Status](https://drone.presslabs.net/api/badges/PressLabs/gitfs/status.svg?arrra)](https://drone.presslabs.net/github.com/PressLabs/gitfs) [![Coverage Status](https://coveralls.io/repos/PressLabs/gitfs/badge.png?branch=HEAD)](https://coveralls.io/r/PressLabs/gitfs?branch=HEAD) ![PyPI](https://img.shields.io/pypi/v/gitfs)\n========\n\n# Welcome to GitFS\n\ngitfs is a [FUSE](http://fuse.sourceforge.net/) file system that fully\nintegrates with git. You can mount a remote repository's branch locally, and any\nsubsequent changes made to the files will be automatically committed to the\nremote.\n\ngitfs was developed by the awesome engineering team at [Presslabs](https://www.presslabs.com/),\na Managed WordPress Hosting provider.\n\n## What's its purpose?\n\ngitfs was designed to bring the full powers of git to everyone, no matter how\nlittle they know about versioning. A user can mount any repository and all their \nchanges will be automatically converted into commits. gitfs will also expose\nthe history of the branch you're currently working on by simulating snapshots of\nevery commit.\n\ngitfs is useful in places where you want to keep track of all your files, but at\nthe same time you don't have the possibility of organizing everything into\ncommits yourself. A FUSE filesystem for git repositories, with local cache.\n\n## Installing\n\nWe provide packages for the major Ubuntu releases and MacOS, but you can find community packages for most of popular Linux\ndistributions. If you want to build packages for a distribution, or you already did, please contact us and we'll list it here.\n\n### Ubuntu 18.04+\n\n```bash\nsudo add-apt-repository ppa:presslabs/gitfs\nsudo apt-get update\nsudo apt-get install gitfs\n```\n\n### MacOS\n\n```bash\nbrew install gitfs\n```\n\n#### Pip\n\nWe also publish a package to PyPI, which can be installed via pip using the following commmand:\n\n```bash\npip install gitfs\n```\n\n## Usage\n\nYou can mount a remote or local repository easly, just by providing the repository to clone and a directory used to mount.\n\n```bash\ngitfs http://your.com/repository.git /mount/directory\n```\n\nThe entire filesystem can be tweaked when mounting it, using a set of options.\n\n```bash\ngitfs git@github.com:user/repo.git /mypath -o\nrepo_path=/tmp/path,branch=dev,log=-,debug=true,foreground=true,fetch_timeout=0.1,merge_timeout=0.1...\n```\n\nFor an entire list of options, you can check the [arguments page](https://www.presslabs.com/code/gitfs/arguments/).\n\n## Features\n* Automatically commits changes: create, delete, update files and their metadata\n* Browse through working index and commit history\n* Merges with upstream by automatically accepting local changes\n* Caching commits reduces the memory footprint and speeds up navigation\n* Reduces the number of pushes by batching commits\n\n## Development\n\nYou can find more documentation on [gitfs homepage](https://www.presslabs.com/code/gitfs/).\n\n### Contributing\n\nDevelopment of gitfs happens at http://github.com/presslabs/gitfs.\n\nIssues are tracked at http://github.com/presslabs/gitfs/issues.\n\nThe Python package can be found at https://pypi.python.org/pypi/gitfs/.\n\nYou are highly encouraged to contribute with code, tests, documentation or just\nsharing experience.\n\nPlease see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## License\nThis project is licensed under Apache 2.0 license. Read the [LICENSE](LICENSE) file in the\ntop distribution directory for the full license text.\n","funding_links":[],"categories":["HarmonyOS","Python"],"sub_categories":["Windows Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpresslabs%2Fgitfs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpresslabs%2Fgitfs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpresslabs%2Fgitfs/lists"}