For my Dissertation I am making GitWise. GitWise is a Linux-first, user-friendly Git client inspired by GitHub Desktop, designed to streamline your version control workflow. Seamlessly integrate with GitHub, GitLab, Bitbucket, and more, all within a simple and intuitive interface that minimizes mental overhead and maximizes productivity.
- Multi-Platform Support: Connect effortlessly with GitHub, GitLab, Bitbucket, and other Git services.
- Intuitive UI: Clean and simple user interface designed to reduce complexity and enhance usability.
- Repository Management: Easily clone, create, and manage your repositories from a single dashboard.
- Branch Management: Visualize and manage branches with ease, including creating, switching, and merging branches.
- Commit History: View detailed commit history with comprehensive information on each commit.
- Integrated Issue Tracking: Access and manage issues directly within the app (integration dependent on platform).
- Custom Integrations: Extend functionality with support for additional integrations as needed.
- Cross-Platform Compatibility: Available on Windows, macOS, and Linux.
- Repository Management: Open existing repositories or clone new ones from remote URLs
- File Status Tracking: View staged, modified, and untracked files with visual indicators
- Branch Management: Create new branches, switch between branches, and view branch information
- Commit Operations: Stage/unstage files, commit changes with custom messages
- Remote Operations: Push and pull changes to/from remote repositories
- Commit History: Browse complete commit history with author and timestamp information
- Modern Design: Clean, GitHub-inspired interface with intuitive navigation
- Tabbed Interface: Organized sections for Changes, History, and Branches
- Responsive Layout: Adapts to different screen sizes and window dimensions
- Visual Feedback: Color-coded file statuses and loading indicators
- Modal Dialogs: User-friendly forms for cloning repositories and creating branches
- Tauri Backend: High-performance Rust backend using libgit2 for Git operations
- Svelte Frontend: Modern, reactive frontend with TypeScript support
- Cross-Platform: Works seamlessly on Windows, macOS, and Linux (including WSL)
- File System Integration: Native file system access with proper permissions
- Error Handling: Comprehensive error handling with user-friendly messages
The application provides a comprehensive Git client experience similar to GitHub Desktop:
- Welcome Screen: Clean interface to get started with repository operations
- Repository View: Full repository management with status overview
- Changes Tab: Manage file staging and commit operations
- History Tab: Browse commit history with detailed information
- Branches Tab: Create and manage branches with easy checkout
- Operating System: Windows 10 or later, macOS 10.15 or later, Linux (Ubuntu, Fedora, etc.)
- Git: Ensure Git is installed on your system. You can download it from git-scm.com.
-
Clone the Repository:
git clone https://github.com/flynnfc/gitwise.git cd gitwise -
Install Dependencies:
# Install Rust dependencies cd src-tauri cargo build # Install frontend dependencies cd .. pnpm install
-
Run in Development Mode:
pnpm tauri dev
pnpm tauri build-
Launch GitWise from your applications menu or desktop shortcut.
-
Open a Repository:
- Click "Open Repository" to browse and select an existing Git repository
- Or use "Clone Repository" to clone a new repository from a remote URL
-
Manage Your Repository:
- Changes Tab: View and stage/unstage files, commit changes
- History Tab: Browse commit history and view commit details
- Branches Tab: Create new branches and switch between existing ones
- Staging Files: Click "Stage" on modified or untracked files
- Committing: Enter a commit message and click "Commit" for staged changes
- Branching: Create new branches from the Branches tab
- Pushing/Pulling: Use the status bar buttons to sync with remote repositories
GitWise is fully compatible with Linux. The application uses native file system APIs and Git operations that are fully supported in any major linux distro.
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or support, please open an issue on GitHub or contact the development team.