{"id":26051464,"url":"https://github.com/teleri/git-hider","last_synced_at":"2026-04-27T05:02:20.538Z","repository":{"id":280990894,"uuid":"943838502","full_name":"Teleri/git-hider","owner":"Teleri","description":"A wrapper for Git's update-index functionality, utilizing fzf for searching of files to hide or show.","archived":false,"fork":false,"pushed_at":"2025-03-06T11:10:55.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-06T12:23:00.650Z","etag":null,"topics":["fzf","git","shell-script"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Teleri.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-06T10:53:43.000Z","updated_at":"2025-03-06T11:16:45.000Z","dependencies_parsed_at":"2025-03-06T12:33:37.598Z","dependency_job_id":null,"html_url":"https://github.com/Teleri/git-hider","commit_stats":null,"previous_names":["teleri/git-hider"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Teleri%2Fgit-hider","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Teleri%2Fgit-hider/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Teleri%2Fgit-hider/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Teleri%2Fgit-hider/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Teleri","download_url":"https://codeload.github.com/Teleri/git-hider/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242501078,"owners_count":20139320,"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":["fzf","git","shell-script"],"created_at":"2025-03-08T04:55:15.302Z","updated_at":"2026-04-27T05:02:15.516Z","avatar_url":"https://github.com/Teleri.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Git Hider\n\nA simple utility script to temporarily hide and unhide files in a Git repository without removing them from your local filesystem.\n\n## Overview\n\nGit Hider uses Git's `update-index --skip-worktree` feature to tell Git to ignore changes to specific files while keeping them in your working directory. This is useful when you need to make local-only changes to configuration files or other tracked files that you don't want to commit.\n\n## Dependencies\n\n- `git` - Version control system\n- `fzf` - Command-line fuzzy finder\n\n## Installation\n\n### Prerequisites\n\nMake sure you have the required dependencies installed:\n\n```bash\n# macOS (using Homebrew)\nbrew install git fzf\n\n# Debian/Ubuntu\nsudo apt install git fzf\n\n# Fedora\nsudo dnf install git fzf\n```\n\n### Setup\n\n1. Download the script:\n   ```bash\n   curl -o git-hider.sh https://raw.githubusercontent.com/yourusername/git-hider/main/git-hider.sh\n   ```\n\n2. Make it executable:\n   ```bash\n   chmod +x git-hider.sh\n   ```\n\n3. Optional: Move to your PATH for global access:\n   ```bash\n   sudo mv git-hider.sh /usr/local/bin/git-hider\n   ```\n\n## Usage\n\nRun the script from within any Git repository:\n\n```bash\n./git-hider.sh\n# Or if installed globally:\ngit-hider\n# or you can make an alias:\nalias githider='~/git-hider.sh'\ngithider\n```\n\n### Available Options\n\nThe interactive menu provides the following options:\n\n1. **List changed files** - Shows files that have been modified in your working directory\n   - Select a file to hide it from Git\n\n2. **List hidden files** - Shows files that are currently hidden from Git\n   - Select a file to unhide it (make it visible to Git again)\n\n3. **Search for files** - Find specific files to hide or unhide using fuzzy search\n\n## How It Works\n\nGit Hider uses Git's `update-index --skip-worktree` flag to mark files as \"skip-worktree\", which tells Git to:\n\n- Pretend the file is unchanged even when it has local modifications\n- Skip checking for changes in the working tree\n\nTo unhide files, it uses `update-index --no-skip-worktree` to resume normal Git tracking.\n\n## Use Cases\n\n- Making local changes to configuration files without committing them\n- Temporarily modifying tracked files for testing\n- Keeping sensitive information local while sharing the repository\n\n## License\n\n[Unlicense](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteleri%2Fgit-hider","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteleri%2Fgit-hider","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteleri%2Fgit-hider/lists"}