Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/abdelrahman822000/git-gui

A graphical user interface for managing Git repositories, developed using C++ and the Qt framework. This application streamlines common Git operations including initializing new repositories, updating existing ones, cloning repositories, and viewing repository status and logs.
https://github.com/abdelrahman822000/git-gui

cpp git gitgui gui gui-application qt qtcreator

Last synced: about 1 month ago
JSON representation

A graphical user interface for managing Git repositories, developed using C++ and the Qt framework. This application streamlines common Git operations including initializing new repositories, updating existing ones, cloning repositories, and viewing repository status and logs.

Awesome Lists containing this project

README

        

**This Project was developed by Abdelrahman Mohamed Hamad**

# Git GUI

A graphical user interface (GUI) for managing Git repositories with functionalities for initializing, updating, cloning, and viewing repository status and logs.

## Table of Contents
- [Project Description](#project-description)
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [License](#license)
- [Contact](#contact)

## Project Description

This project is a Git GUI developed using C++ and the Qt framework. It provides a user-friendly interface for common Git operations including creating new repositories, updating existing ones, cloning repositories, and viewing repository status and logs.

## Features

- Initialize new Git repositories
- Update existing repositories
- Clone repositories from remote sources
- View current repository status
- View commit logs

## Installation

### Prerequisites

- Qt Creator
- Qt 6.7.1 or higher
- C++ compiler (e.g., GCC, MinGW)
- Git (must be installed on your system)

### Steps

1. **Clone the repository:**
```bash
git clone https://github.com/Abdelrahman822000/Git-Gui.git
cd Git-Gui
```

2. **Build the project:**
- Open the Git-Gui project in Qt Creator by choosing `File -> Open File or Project`, then navigate to where you cloned the repository and select `GIT_GUI_Project.pro`.
- Configure the project using your desired kit.
- Build the project using the Build menu.

## Usage

### Running the Application

1. **Start the application:**
- Run the project using Qt Creator. The application will build and start.
- Alternatively, navigate to `Git_GUI/build/Desktop_Qt_6_7_0_MinGW_64_bit-Release/release` and run the `GIT_GUI_Project.exe` executable.

### GUI Tabs

1. **Start Tab:**
- Enter your username and email for git and choose your operation. ![Start](https://github.com/user-attachments/assets/2814380a-a6e0-462c-9e12-862a5386c51b)

2. **New Repo Tab:**
- Create a new Git repository by specifying the local repository path, the repository URL, and the initial commit message. ![New Repo](https://github.com/user-attachments/assets/8fe5c203-2357-4093-aeb2-ee7c789731f7)

3. **Update Repo Tab:**
- Update the local repository by specifying the local repository path and commit message. ![Update Repo](https://github.com/user-attachments/assets/aa09f283-2924-49a1-a8a7-d1eb92daa035)

4. **Clone Tab:**
- Clone a remote repository to a local directory by providing the remote URL and local path. ![Clone Repo](https://github.com/user-attachments/assets/35fd30e4-c815-431a-99f9-660fc5cbb6c6)

5. **Status Tab:**
- View the current status of the repository, including staged, unstaged, and untracked changes. ![Get Status](https://github.com/user-attachments/assets/1634a58d-f648-4af4-8cae-eea22bd65e57)

6. **Log Tab:**
- View the commit history and detailed logs of the repository. ![Get Log](https://github.com/user-attachments/assets/ff99b999-4921-41dc-af83-1a7dae76ce7d)

## License

This project is licensed under the GNU GENERAL PUBLIC LICENSE - see the [LICENSE](LICENSE) file for details.

## Contact

If you have any questions, feel free to contact me:
- **Phone:** +201028325749
- **Email:** [email protected]
- **LinkedIn:** [Abdelrahman Mohamed Hamad](https://www.linkedin.com/in/abdelrahman-mohamed-a1956b247/)

---