{"id":24691,"date":"2015-09-01T08:01:35","date_gmt":"2015-09-01T06:01:35","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=24691"},"modified":"2015-09-01T08:01:35","modified_gmt":"2015-09-01T06:01:35","slug":"gitfs-version-controlled-file-system","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2015\/09\/01\/gitfs-version-controlled-file-system\/","title":{"rendered":"gitfs &#8211; version controlled file system"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>This was only a matter of time &#8230; <a href=\"http:\/\/www.presslabs.com\/gitfs\/\">gitfs<\/a>\u00a0&#8211; version controlled file system:<\/p>\n<blockquote><p>gitfs was designed to bring the full powers of git to everyone, no matter how little they know about versioning. A user can mount any repository and all the his changes will be automatically converted into commits. gitfs will also expose the history of the branch you&#8217;re currently working on by simulating snapshots of every commit.<\/p><\/blockquote>\n<p>Here is a brief feature list:<\/p>\n<ul>\n<li>Automatically commits changes: create, delete, update files and their metadata<\/li>\n<li>Browse through working index and commit history<\/li>\n<li>Merges with upstream by automatically accepting local changes<\/li>\n<li>Caching commits reduces the memory footprint and speeds up navigation<\/li>\n<li>Reduces the number of pushes by batching commits<\/li>\n<\/ul>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>This was only a matter of time &#8230; gitfs\u00a0&#8211; version controlled file system: gitfs was designed to bring the full powers of git to everyone, no matter how little they know about versioning. A user can mount any repository and all the his changes will be automatically converted into commits. gitfs will also expose the &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2015\/09\/01\/gitfs-version-controlled-file-system\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">gitfs &#8211; version controlled file system<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"gitfs - version controlled file system #git #vcs","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,62,1334],"tags":[616,2265,1588],"keyring_services":[],"class_list":["post-24691","post","type-post","status-publish","format-standard","hentry","category-general","category-technology","category-web-work","tag-filesystem","tag-git","tag-version-control"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":28399,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/02\/19\/grv-git-repository-viewer\/","url_meta":{"origin":24691,"position":0},"title":"GRV &#8211; Git Repository Viewer","author":"Leonid Mamchenkov","date":"February 19, 2018","format":false,"excerpt":"GRV is a text-based Git repository viewer for the console, much like tig, but with a few extra features: Commits and refs can be filtered using a query language. Changes to the repository are captured by monitoring the filesystem allowing the UI to be updated automatically. Organised as tabs and\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/02\/grv-500x265.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":27671,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/06\/08\/git-commit-good-practice\/","url_meta":{"origin":24691,"position":1},"title":"Git Commit Good Practice","author":"Leonid Mamchenkov","date":"June 8, 2017","format":false,"excerpt":"Open Stack wiki has an excellent guide on how to create good commits. \u00a0In a few places it is too specific to Open Stack development practices, but overall it's one of the best guides I've seen for any project using git. It is basically split into two sections. \u00a0One on\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/06\/git_commit.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":23545,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/02\/18\/git-stats-a-github-like-contributions-calendar-but-locally-with-all-your-git-commits\/","url_meta":{"origin":24691,"position":2},"title":"git-stats &#8211; a GitHub-like contributions calendar, but locally, with all your git commits","author":"Leonid Mamchenkov","date":"February 18, 2015","format":"link","excerpt":"git-stats - a GitHub-like contributions calendar, but locally, with all your git commits","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"git-stats","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/02\/git-stats-500x369.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":14826,"url":"https:\/\/mamchenkov.net\/wordpress\/2011\/05\/05\/branches-graph-at-github\/","url_meta":{"origin":24691,"position":3},"title":"Branches graph at GitHub","author":"Leonid Mamchenkov","date":"May 5, 2011","format":false,"excerpt":"One of my favorite features of GitHub (and, probably, pretty much any other git client) is the graphical representation of branches. \u00a0It usually gives a crystal clear picture of how the source tree came about to be. \u00a0But I think today I actually managed to confuse the heck out of\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2011\/05\/github-confused.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":17655,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/01\/09\/git-separating-folder-into-different-repository-with-history\/","url_meta":{"origin":24691,"position":4},"title":"Git : separating folder into different repository, with history","author":"Leonid Mamchenkov","date":"January 9, 2013","format":false,"excerpt":"First things first. \u00a0If you don't use git for version control yet, stop right now and go plan your migration. \u00a0You'll thank me later. \u00a0Now. \u00a0A few days ago I had a tricky problem. \u00a0A chunk of code that was initially all over the project has been refactored into a\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":29094,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/12\/13\/on-good-commit-messages\/","url_meta":{"origin":24691,"position":5},"title":"On good commit messages","author":"Leonid Mamchenkov","date":"December 13, 2018","format":false,"excerpt":"The evolution goes on.\u00a0 Now that we've kind of sorted out most of our infrastructure, development tools, flows and processes, I guess, it's time to look deeper into the things we've had for a while and reiterate over them. Recently, I'm seeing a lot of blog posts on articles on\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/24691","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=24691"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/24691\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=24691"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=24691"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=24691"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=24691"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}