A Simple git client, provides flexibility to committers.
Technologies: C++, Shell Script, CMake
- The Git only have CLI, command directive mode.
- The Git is not easy to use for beginners.
- The Git is not easy to use for non-technical people, becouse it use technical terms.
- The XGit solve all the above problem with the terminal interactive interface.
- Backward compatible, with most of Os.
- Redefined the complex technical terms with simple one.
- C++: The XGit is written in C++.
- Shell Script: The XGit is using shell script for some of the tasks not possible with C++. BOOK
- CMake: The XGit is using CMake for building the project. LINK
- Git: The XGit is use base layer Git for version controling. LINK
- GCC MinGW-64: The XGit is using GCC MinGW-64 for compiling the C++ code. LINK
1. Video: What is git(English)
2. Video: What is git(Hindi)
3. Video: What is git and GitHub
4. Article: What are git and GitHub
5. GitHub: GitHub Repository
How to manage files and directories.
.
├── LICENSE # License file.
├── README.md # Documentation file.
├── assets # Contain all assests files.
│ └── ___.__
├── main.cpp # Main source code file.
├── CMakeLists.txt # Contain all cmake related code.
├── src
│ ├── headers # Contain all headers related to the codebase.
│ │ └── ______.h
│ └── lib # Contains all libs related to the codebase.
│ └── ______.lib
└── build # Output folder contain all binary files for final software.
# Run this script to compile and install the software in any platform.
./setup.sh
cmake -G "MinGW Makefiles" -S . -B ./build
For build with CMake:
cmake --build .\build\
For run:
.\build\xgit
./setup.sh
- For Windows:
mv ./build/xgit.exe c:/windows/system32
- For Linux:
sudo mv ./build/xgit /usr/bin
Code Implementation | Code Style |
---|---|
Class & Packages | PascalCase |
Namespace | lower_snake_case |
Constant | CONSTANT_CASE |
Function | camelCase |
For more: Google C++ Style Guide, Google Shell Script Style Guide
Comments should be self, described and for every piece of code that can do a task for a specific reason, there must be a elevrative comments. Comments documenting declarations should be full sentences, even if that seems a little redundant. This approach makes them format well when extracted into good documentation. Comments should begin with the name of the thing being described and end in a period.