A VS Code extension that allows you to easily backup selected project files to a chosen destination with customizable options.
Features
Tree Navigation: Navigate through your project folder structure like a file explorer
Selective File Backup: Choose exactly which files to backup from your project
Preserve Directory Structure: Optionally maintain the original folder structure in your backup
Hidden Files Support: Include or exclude hidden files and folders
Timestamped Backups: Create timestamped backup folders for better organization
Progress Tracking: Visual progress indicator during backup operations
Duplicate Handling: Automatically handles file name conflicts
Smart Filtering: Excludes common build artifacts and system files by default
Custom Ignore Patterns: Support for .rohitignore file to exclude specific files and folders
How to Use
Open Command Palette: Press Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (macOS)
Run Command: Type "Git Backup: Backup Project" and select it
Configure Options: Choose your backup preferences:
Preserve directory structure (Yes/No)
Include hidden files (Yes/No)
Create timestamped folder (Yes/No)
Navigate and Select Files: Use the tree navigation to browse folders and select files:
Visual Selection: Checkboxes show selection status (☑️ = selected, ☐ = not selected)
Folder Actions: Click on folders to choose "Enter Folder" or "Toggle Selection"
Bulk Selection: Select entire folders to include all files within them
Individual Files: Click on files to select/deselect them for backup
Navigation: Use ".. (Parent Directory)" to go back
Completion: Click "Done" when you've selected all desired files
Choose Destination: Select where you want to save the backup
Done!: Your files are backed up with a progress indicator
Configuration Options
When running the backup command, you'll be prompted to configure:
Preserve Directory Structure
Yes: Maintains the original folder hierarchy in the backup
No: Copies all files to the root of the backup folder
Include Hidden Files
Yes: Includes files and folders starting with . (like .env, .config/)
No: Excludes hidden files and folders
Create Timestamped Folder
Yes: Creates a backup folder with timestamp (e.g., backup-2024-01-15T10-30-45-123Z)
No: Uses the selected destination folder directly
Excluded Files and Folders
The extension automatically excludes common build artifacts and system files:
Directories:
.git, node_modules, .vscode
dist, build, out, .next, .nuxt
coverage, target, bin, obj
Files:
.DS_Store, Thumbs.db
.gitignore, .eslintrc, .prettierrc
package-lock.json, yarn.lock
.rohitignore File
You can create a .rohitignore file in your project root to specify custom files and folders to exclude from backup selection. This works similar to .gitignore but specifically for the backup process.