{"id":13725708,"url":"https://github.com/philips/ghar","last_synced_at":"2025-04-09T14:10:22.713Z","repository":{"id":65133155,"uuid":"1036279","full_name":"philips/ghar","owner":"philips","description":"ghar: home as repositories","archived":false,"fork":false,"pushed_at":"2019-09-29T21:42:44.000Z","size":78,"stargazers_count":270,"open_issues_count":4,"forks_count":37,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-02T12:08:39.965Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.ifup.org/posts/ghar-managing-your-home-in-git/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/philips.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-10-29T23:10:28.000Z","updated_at":"2025-02-16T11:32:59.000Z","dependencies_parsed_at":"2023-01-03T10:18:57.699Z","dependency_job_id":null,"html_url":"https://github.com/philips/ghar","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philips%2Fghar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philips%2Fghar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philips%2Fghar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philips%2Fghar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/philips","download_url":"https://codeload.github.com/philips/ghar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248054195,"owners_count":21039952,"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":[],"created_at":"2024-08-03T01:02:32.033Z","updated_at":"2025-04-09T14:10:22.688Z","avatar_url":"https://github.com/philips.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"ghar (ghar: home as repositories)\n=================================\n\nghar can help you manage your $HOME in git using a collection of git repos\nseperated by topic or privacy. For example if you work on a variety of\nmachines and want to share your .emacs on github but not your .ssh then ghar\nis for you.\n\nBrandon Philips \u003cbrandon@ifup.org\u003e\n\nINSTALL\n-------\n\nghar aims to be self contained to make it easy to use on machines where you\nmay not have root. The clone of ghar you make below contains the ghar tool and\nwill be the directory in which you clone all of your dotfile repos.\n\n    $ git clone https://github.com/philips/ghar.git\n    $ export PATH=$PATH:`pwd`/ghar/bin/ # You may wish to make this permanent\n\nIf you'd like bash tab completion, either move the included\nghar-bash-completion.sh into /etc/bash\\_completion.d/ (requires root),\nor source the file directly:\n\n    $ . `pwd`/ghar/ghar-bash-completion.sh\n\nGetting Started\n---------------\n\nNow, lets create a devel repo which will contain your .vimrc config file (or\nany other dotfile you choose). And then have ghar install it.\n\n\"ghar repos\" are git repositories contained under the root ghar directory. For\nexample if you cloned ghar in a directory called $HOME/tools in the INSTALL\nstep above you will want to cd into $HOME/tools/ghar now to create your first\nghar repo called devel:\n\n    $ cd ghar\t# cd into the clone of ghar you made in the INSTALL step\n    $ ls\n    bin COPYING README\n    $ mkdir devel\n    $ cd devel\n    $ git init\n    $ mv ~/.vimrc .\n    $ git add .vimrc\n    $ git commit -m \"vimrc: initial commit\"\n    $ ghar install\n      devel\n        installed\t/home/philips/.vimrc\n    $ ghar install --status\n      devel\n       ok\t/home/philips/.vimrc\n\nAdding External Repos\n---------------------\n\nAdding an external repo is easy. ghar will do a git clone of the external repo\ninto the proper directory and then install the symlinks with two commands:\n\n    $ ghar add git://github.com/robbyrussell/oh-my-zsh.git oh-my-zsh\n    $ ghar install\n      oh-my-zsh\n       installed\t/home/philips/.oh-my-zsh\n\nUpgrading a machine\n-------------------\n\nTo upgrade a machine to the latest version of all of the repos do the\nfollowing:\n\n    $ ghar pull\t\t# pull in all repos\n    $ ghar install\t# install any new files\n\nDONE! Enjoy the latest version of your configs.\n\nIgnoring Files\n--------------\n\nghar looks for a `.gharignore` file in each ghar repo it installs.\nThis file lists, one per line,\n[fnmatch-style](http://docs.python.org/2/library/fnmatch.html)\npatterns (e.g. `README.*`, `*.txt`, etc.) to ignore when creating\nsymlinks.\n\nExample `.gharignore`:\n```\nLICENSE\nREADME.*\n.gitmodules\n```\n\nThanks\n------\nThese two chaps helped me on the original bash implementation. However,\nour original plan of attack ended up being too unwieldy as it used the\n--git-dir directive to do the magic instead of symlinks.\n\n- Graham Forest\n- Gavin McQuillan\n\nContributors\n------------\n- Jeff Wong\n- Matthew Batema\n- Torne Wuff\n- Jacob Kaplan-Moss\n- aff0\n- Charles R. Hogg III\n\n\nNotes about Windows support\n---------------------------\n\nCreating symlinks under Windows requires Administrator rights. This means that\nyou will have to run ghar as Administrator / with elevated privileges\n(Windows Vista and higher).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilips%2Fghar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphilips%2Fghar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilips%2Fghar/lists"}