Skip to content

imFluxray/OneClickGit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

24 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

OneClickGit Logo

OneClickGit

Upload files and folders to GitHub with a single click.

No Git. No terminal. No stress. Just click.

OneClickGit - No Git. No terminal. No stress. Just click. | Product Hunt

Release Downloads Stars License Platform PRs Welcome


πŸš€ Download Now Β· πŸ“– Documentation Β· πŸ› Report a Bug Β· πŸ’‘ Request a Feature


πŸ“ How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        OneClickGit Workflow                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚  πŸ” Log  │────▢│ πŸ“ Pick  │────▢│ 🎯 Pick  │────▢│ πŸ“€ Drop  β”‚
   β”‚   In     β”‚     β”‚  Repo    β”‚     β”‚  Branch  β”‚     β”‚  Files   β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                                            β”‚
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”          β”‚
   β”‚  βœ… Done │◀────│ πŸš€ Push  │◀────│ ✏️ Commitβ”‚β—€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   β”‚  Merged! β”‚     β”‚ to GitHubβ”‚     β”‚ Message  β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

   ════════════════════════════════════════════════════════════
   ⚑  Total time from open to merged:  < 30 seconds
   ════════════════════════════════════════════════════════════

✨ Features

Icon Feature Description
πŸ” GitHub OAuth Secure single-click GitHub login β€” no tokens to copy-paste
πŸ“¦ Repository Selector Browse and select any repo you have access to
🌿 Branch Selector Target any branch β€” main, dev, feature branches, all of it
πŸ“‚ Folder Upload Upload entire folder structures in one go
πŸ—‚οΈ Nested Structure Preservation Deep folder trees arrive on GitHub exactly as they are on your machine
πŸ–±οΈ Drag & Drop Drag files or folders directly into the app window
πŸ“Š Upload Progress Tracking Real-time per-file and overall progress bars
⚑ Upload Speed Tracking Live speed indicator so you know it's actually doing something
πŸ€– Auto Commit Messages Sensible commit messages generated automatically
✏️ Custom Commit Messages Write your own message when you actually care
πŸ‘» Skip Hidden Files Automatically ignores .DS_Store, Thumbs.db, and other gremlins
πŸ“‹ .gitignore Support Respects your project's .gitignore rules out of the box
πŸ“ Upload Into Subfolders Target a specific subdirectory in your repo as the upload destination
πŸ” Overwrite Existing Files Replace existing files without manually deleting them first
🏎️ Optimized Upload Engine Batched API calls for fast, reliable uploads even on large folders

πŸ€” Why OneClickGit?

"Why not just use GitHub's website?" β€” someone, probably

Great question. Here's why OneClickGit slaps harder:

Feature GitHub Web Upload OneClickGit
Upload individual files βœ… βœ…
Upload entire folders ❌ βœ…
Preserve nested folder structure ❌ βœ…
Drag and drop support ⚠️ Limited βœ…
Upload more than 100 files at once ❌ βœ…
Custom commit messages βœ… βœ…
Auto-generated commit messages ❌ βœ…
Respect .gitignore ❌ βœ…
Skip hidden files automatically ❌ βœ…
Upload into a specific subfolder ❌ βœ…
Upload progress bar ❌ βœ…
Upload speed indicator ❌ βœ…
Requires Git installed ❌ ❌
Requires terminal knowledge ❌ ❌

πŸ—‚οΈ Folder Structure Preservation

OneClickGit keeps your folder hierarchy intact β€” no flattening, no chaos.

What you have locally:

my-project/
β”œβ”€β”€ index.html
β”œβ”€β”€ assets/
β”‚   β”œβ”€β”€ logo.png
β”‚   └── banner.jpg
β”œβ”€β”€ css/
β”‚   β”œβ”€β”€ main.css
β”‚   └── theme/
β”‚       β”œβ”€β”€ dark.css
β”‚       └── light.css
└── js/
    β”œβ”€β”€ app.js
    └── utils/
        └── helpers.js

What lands on GitHub:

your-repo/
└── my-project/               ← uploaded subfolder (if specified)
    β”œβ”€β”€ index.html
    β”œβ”€β”€ assets/
    β”‚   β”œβ”€β”€ logo.png
    β”‚   └── banner.jpg
    β”œβ”€β”€ css/
    β”‚   β”œβ”€β”€ main.css
    β”‚   └── theme/
    β”‚       β”œβ”€β”€ dark.css
    β”‚       └── light.css
    └── js/
        β”œβ”€β”€ app.js
        └── utils/
            └── helpers.js

βœ… Every file. Every subfolder. Exactly where it should be. First try.


πŸ’Ύ Installation

⚠️ OneClickGit currently supports Windows only. macOS and Linux builds are planned β€” see the Roadmap.

πŸͺŸ Windows
  1. Go to the Releases page
  2. Download OneClickGit-Setup-x.x.x.exe
  3. Run the installer
  4. Launch OneClickGit from the Start Menu or Desktop shortcut

Note: Windows may show a SmartScreen warning since the app isn't code-signed yet. Click More Info β†’ Run Anyway to proceed.

πŸ› οΈ Build From Source

Prerequisites: Node.js 18+, npm or yarn

# Clone the repository
git clone https://github.com/imFluxray/OneClickGit.git
cd OneClickGit

# Install dependencies
npm install

# Start in development mode
npm run tauri dev

# Build for your current platform
npm run tauri build

Built binaries will appear in the dist/ folder.


πŸš€ Usage Walkthrough

Follow these steps to go from zero to committed in under a minute:

Step 1 β€” Log In

Click Sign in with GitHub. OneClickGit will open your browser for OAuth authentication. No passwords stored. No tokens to manage.

Step 2 β€” Select a Repository

Choose any repository from the dropdown. Public and private repos are both supported based on your GitHub permissions.

Step 3 β€” Select a Branch

Pick your target branch from the branch selector. Defaults to main, but you can target any branch.

Step 4 β€” Choose Files or a Folder

  • Click Add Files to select individual files, or
  • Click Add Folder to select an entire directory, or
  • Simply drag and drop files or folders directly into the app window.

Step 5 β€” (Optional) Configure Upload Settings

Set a destination subfolder, toggle .gitignore respect, or choose whether to overwrite existing files.

Step 6 β€” Write or Generate a Commit Message

Type your own commit message or let OneClickGit auto-generate one based on the files being uploaded.

Step 7 β€” Click Upload

Hit the big Upload button. Watch the progress bar. That's literally it.

Step 8 β€” You're Done

Your files are now on GitHub. Go touch grass.


βš™οΈ Settings

OneClickGit includes a built-in Settings panel with the following options:

Setting Default Description
Default Branch main Pre-select a branch on launch
Auto-generate Commit Message On Generate commit messages automatically
Skip Hidden Files On Ignore files starting with .
Respect .gitignore On Parse and apply .gitignore rules before upload
Overwrite Existing Files Off Replace files that already exist in the repo
Default Upload Subfolder (empty) Pre-fill the destination subfolder field
Theme System Light, Dark, or follow system preference
Launch at Login Off Start OneClickGit automatically on system login
Show Upload Speed On Display live transfer speed during upload

❓ FAQ

Does OneClickGit require Git to be installed?

Nope. Not at all. That's the whole point. OneClickGit talks directly to the GitHub API β€” your machine doesn't need Git, a terminal, or any developer tooling whatsoever.

Is my GitHub token stored securely?

Yes. OAuth tokens are stored in your operating system's secure credential store (Credential Manager on Windows). They are never written to plain text files or sent anywhere other than GitHub's API.

What's the maximum upload size?

OneClickGit uses the GitHub Contents API, which has a 100 MB per-file limit. For files larger than 100 MB, you'll need to use Git LFS or the standard Git CLI. Total repo size limits are governed by GitHub's standard policies.

Can I upload to private repositories?

Yes. As long as your GitHub account has write access to the repository, OneClickGit can upload to it β€” public or private.

Does it work with GitHub Enterprise?

GitHub Enterprise support is on the roadmap! It's not available in the current release. Track progress in #42.

What happens if an upload fails halfway through?

Files that were successfully uploaded before the failure will remain in the repo. OneClickGit will display which files succeeded and which failed. You can retry the failed files without re-uploading everything.

Will macOS and Linux be supported?

Yes, eventually! Cross-platform support is planned. Windows is the focus for now while the core feature set is being built out. Star the repo and watch for release announcements.

Can I use this for CI/CD or automation?

OneClickGit is a desktop GUI app intended for manual use. For automation, scripting, or CI/CD workflows, the GitHub CLI or GitHub Actions are better-suited tools.


πŸ—ΊοΈ Roadmap

βœ… Shipped

  • GitHub OAuth login
  • Repository & branch selector
  • Single file upload
  • Folder upload with structure preservation
  • Drag and drop support
  • Auto-generated commit messages
  • Custom commit messages
  • Upload progress tracking
  • Upload speed indicator
  • Skip hidden files
  • .gitignore support
  • Upload into subfolders
  • Overwrite existing files toggle
  • Optimized batched upload engine

🚧 In Progress

  • Upload history / recent uploads log
  • Multi-account GitHub support
  • Dark/light/system theme toggle

πŸ“‹ Planned

  • macOS support
  • Linux support
  • GitHub Enterprise support
  • GitLab support
  • Gitea / self-hosted support
  • File conflict preview before overwriting
  • Undo last upload (revert commit)
  • Scheduled / automatic uploads
  • CLI companion tool
  • Browser extension
  • Mobile app (iOS / Android)

πŸ’‘ Have an idea? Open a feature request β€” we actually read them.


🀝 Contributing

Contributions are what make open source worth waking up for. Any contribution you make is genuinely appreciated.

Fork it β†’ Branch it β†’ Build it β†’ PR it β†’ Ship it πŸš€

Getting started:

# 1. Fork the repo on GitHub, then clone your fork
git clone https://github.com/YOUR_USERNAME/OneClickGit.git
cd OneClickGit

# 2. Create a feature branch
git checkout -b feature/your-amazing-feature

# 3. Install dependencies and run in dev mode
npm install
npm run tauri dev

# 4. Make your changes, then commit
git commit -m "feat: add your amazing feature"

# 5. Push to your fork
git push origin feature/your-amazing-feature

# 6. Open a Pull Request on GitHub

Before submitting a PR, please:

  • Run npm run lint and fix any issues
  • Run npm test and ensure all tests pass
  • Update documentation if you're changing behavior
  • Keep PRs focused β€” one feature or fix per PR

Ways to contribute beyond code:

  • πŸ› Report bugs
  • πŸ’‘ Suggest features
  • πŸ“– Improve documentation
  • 🌍 Add or improve translations
  • ⭐ Star the repo (the most underrated contribution)

Please read CONTRIBUTING.md before contributing.


πŸ“„ License

Distributed under the MIT License. See LICENSE for full details.

MIT License β€” do whatever you want with it.
Just don't remove the license header. That's it. That's the rule.

πŸ™ Acknowledgements

  • Electron β€” for making cross-platform desktop apps with web tech possible
  • Octokit β€” for the excellent GitHub API client
  • GitHub REST API β€” for existing and being documented well
  • Every open-source project that made this one possible


If OneClickGit saved you from opening a terminal today, consider leaving a ⭐

It takes 2 seconds and it means the world to open-source maintainers.

Star on GitHub


Made with ❀️ and a deep personal hatred of typing git push

Β© 2026 OneClickGit Contributors Β· MIT License Β· Issues Β· Discussions

About

Upload files and folders to GitHub with a single click. No Git commands, no complicated setup.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors