Skip to content

Commit c1bf51e

Browse files
authored
Merge pull request #28 from neel1996/documentation-update
Updated documentation and language list markdown file
2 parents e12792c + 60cdac6 commit c1bf51e

File tree

2 files changed

+175
-0
lines changed

2 files changed

+175
-0
lines changed

DOCUMENTATION.md

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
# Introduction
2+
GitConvex is a web app for managing your git repositories. It is supported by Linux, Mac OS and Windows. The [latest version] (https://github.com/neel1996/gitconvex-package/releases) of GitConvex supports git features such as initializing and tracking a git repo, staging and unstaging changes, committing changes, pushing changes to the selected remote and so on.
3+
The main goal of this platform is to act as a web-based alternative for Github desktop, but we are still in the starting stages, so we are not completely there yet (baby steps, right?)
4+
## Table of Contents
5+
[Requirements](#requirements)<br>
6+
[Download Options](#download-options)<br>
7+
[Setup](#setup)<br>
8+
[Features available](#features-available)<br>
9+
[How to use](#how-to-use)
10+
- [Adding a new repo](#adding-a-new-repo)
11+
- [Repo Details](#repo-details)
12+
- [Add a new branch](#add-new-branch)
13+
14+
## Requirements
15+
1. [Node JS](https://nodejs.org/en/) (Version 12.0+)
16+
2. [Git](https://git-scm.com/) (Version 2.20+)
17+
## Download Options
18+
- **Option-1:** Directly clone the repo from GitHub
19+
`git clone https://github.com/neel1996/gitconvex-package`
20+
21+
- **Option-2:** Downloading the zip file from the [releases](https://github.com/neel1996/gitconvex-package/releases).
22+
23+
- **Option-3:** GitConvex is also available on `npm`. Install the package globally to run it directly from the command line
24+
`npm i -g @itassistors/gitconvex`
25+
26+
This will install **GitConvex** as a global module and it can be started straight away from the command line with `gitconvex` command
27+
```
28+
$ gitconvex
29+
30+
INFO: Checking for config file
31+
INFO: Config file is present
32+
INFO: Reading from config file /usr/lib/node_modules/@itassistors/gitconvex/env_config.json
33+
GitConvex API connected!
34+
35+
Checking data file availability...
36+
INFO: Data file /usr/lib/node_modules/@itassistors/gitconvex/database/repo-datastore.json is present and it will be used as the active data file!
37+
You can change this under the settings menu
38+
GitConvex is running on port 9001
39+
Open http://localhost:9001/ to access GitConvex
40+
```
41+
## Setup
42+
43+
If either download **Option-1** or **Option-2** is opted, then the following steps need to be followed to setup GitConvex
44+
1. For installing all dependencies,
45+
`` $npm install ``
46+
47+
2. To start the server, either use normal node command
48+
`` $node server.js ``
49+
or use `pm2` by downloading it from npm - `npm i -g pm2` and start the module by executing the following command,
50+
`pm2 start ecosystem.config.js`
51+
52+
## Features available
53+
- Visualizing basic repo stats such as active branch, active remotes, number of files tracked etc
54+
- Tracking modified files
55+
- Creating new branches (provided there are no diverging changes)
56+
- Initializing git inside a new repo and adding it to the platform tracker on the go
57+
- File difference tracker with syntax highlighting for the [supported languages] (LANGUAGES.md).
58+
- Commit log viewer
59+
- Basic git operations such as staging, un-staging, committing and pushing to remote repo.
60+
61+
## How to use
62+
63+
### Left Pane Menu
64+
65+
- **Repositories** - To check tracked files changes, line-based changes with syntax highlighting and git operations (staging, un-staging, committing changes and pushing changed to remote)
66+
- **Settings** - To check and edit internal data file, to remove a repo from GitConvex and to update the active port.
67+
- **Help** - Includes documentation link and various options to report an issue or to submit feedback.
68+
69+
### Adding a new repo
70+
- Use "+" at the bottom right corner to add a repo.
71+
![add-a-repo](https://user-images.githubusercontent.com/65342122/87232632-0eff7480-c3de-11ea-8a9f-f0a6cf9cd6ee.png)<!-- .element style="height:10%; width:10%" -->
72+
73+
- Enter repo name and paste the repo path. If the folder is not a git repo then check the "*Check this if the folder is not a git repo*" checkbox to initialize git.
74+
![repo-details](https://user-images.githubusercontent.com/65342122/87232637-16268280-c3de-11ea-9f9d-708c5a3eb668.png)
75+
76+
- The newly added repo will be displayed as a card in the dashboard
77+
![repo-card](https://user-images.githubusercontent.com/65342122/87243016-d13b3400-c44f-11ea-88ec-c4d14cbfbf97.png)
78+
79+
### Repo Details
80+
- Click on the repo card to get the following details about the repo
81+
```
82+
- The list of branches
83+
- Commit logs
84+
- Latest commit
85+
- Active branch and available local branches
86+
- Remote repo URL and host
87+
- Files and folders tracked by git
88+
```
89+
The repo detail view also provides features for performing the following git operations,
90+
```
91+
- Adding a new branch
92+
- Pulling changes from remote
93+
- Fetching changes from remote
94+
- Adding a new remote repo
95+
```
96+
![repo-card-details](https://user-images.githubusercontent.com/65342122/87232642-1f175400-c3de-11ea-8ead-80cd5ab4c37c.png)
97+
98+
![commit-logs](https://user-images.githubusercontent.com/65342122/87232671-71587500-c3de-11ea-8ff5-25fb95b08553.png)
99+
100+
#### Add new branch
101+
![new-branch](https://user-images.githubusercontent.com/65342122/87232643-23437180-c3de-11ea-9d9e-7e3c3789c32e.png)
102+
103+
Note: In a newly initialized git repo, the newly added branch will be considered by git only after an initial commit
104+
105+
## Repository Menu
106+
- The **Repository** menu has three sections: **File view, Git difference and Git operations**, which will be displayed based on the selected repo.
107+
108+
### File View
109+
- File view shows the New/Untracked/Modified/Deleted files.
110+
![file-view](https://user-images.githubusercontent.com/65342122/87232644-29d1e900-c3de-11ea-9adc-03fb4e690882.png)
111+
112+
### Git Operations
113+
- Git operations module lets you handle three basic git operations (**Stage all changes, commit changes, push to remote**). Below this option, the files will be displayed and the files can be staged individually using the "Add" button or as a whole using the "stage all changes".
114+
![git-operations](https://user-images.githubusercontent.com/65342122/87232645-30f8f700-c3de-11ea-8ddb-52f4d5ec7140.png)
115+
116+
- The staged files can be removed individually or it can be removed all at once.
117+
![staged-files](https://user-images.githubusercontent.com/65342122/87232658-51c14c80-c3de-11ea-95e1-b9bbeeac82bb.png)
118+
119+
- The staged changes can be committed using the **Commit changes** option. This will display a pop-up with all the staged files and it requires a commit message to successfully commit the changes. The commit messages can either be a single line message or a multi-line message
120+
![commit-changes](https://user-images.githubusercontent.com/65342122/87232659-56860080-c3de-11ea-9bc4-a19ad727b101.png)
121+
122+
- **Push to remote** option pushes all commits to the selected remote host. The pop-up displayed will display the commits which are in queue to be pushed to the remote repository
123+
![push-operation-with-remote](https://user-images.githubusercontent.com/65342122/87232662-61409580-c3de-11ea-8ad7-61c3871f0a4d.png)
124+
125+
This section will let you know if the selected remote is not valid or if the push operation fails
126+
![push-opeartion-without-remote](https://user-images.githubusercontent.com/65342122/87232666-6867a380-c3de-11ea-9903-5ea12200e994.png)
127+
128+
### Git Difference
129+
130+
In "Git Difference" click on the modified file to see the difference. The platform has syntax highlighting available for a limited set of [languages](LANGUAGES.md)
131+
![git-difference](https://user-images.githubusercontent.com/65342122/87243040-11021b80-c450-11ea-8775-d52dcc7f57e1.png)
132+
133+
## Settings
134+
- Settings in the left pane has three sections (Server data file, saved repos, Active GitConvex port number).
135+
![settings](https://user-images.githubusercontent.com/65342122/87243003-a4871c80-c44f-11ea-9d1a-8350bdfb0da8.png)
136+
137+
- Server data file stores repo details such as the repo path, timestamp and the unique ID assigned to each repo. The data file must be an accessible JSON file with read / write permissions set to it. Also make sure you enter the full path for the file. E.g: /opt/my_data/data-file.json
138+
- In the saved repos section, added repo(s) can be deleted permanently from GitConvex.
139+
140+
>Note that, this will only remove the repo from GitConvex records and it will not perform an actual folder delete operation
141+
142+
- The port number can be updated to an available alternate port. Make sure that the port is not in use. The app needs to be restarted for the port change to take effect.
143+
144+
## Help and Support
145+
146+
- Visit help section if you're facing an issue or need any help. If you have any queries or feedback, then discuss it in "Discord" or report an issue in GitHub.
147+
![help-and-support](https://user-images.githubusercontent.com/65342122/87242999-8f11f280-c44f-11ea-9a81-f6cde7b4b419.png)

LANGUAGES.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
## Languages
2+
3+
|Extensions|Languages|
4+
|-|-|
5+
|**js**|JavaScript|
6+
|**java**|Java|
7+
|**py**|Python|
8+
|**c**|C|
9+
|**cp**|C++|
10+
|**go**|Go|
11+
|**rust**|Rust|
12+
|**ts**|TypeScript|
13+
|**dart**|Dart|
14+
|**php**|PHP|
15+
|**html**|Markup|
16+
|**json**|JSON|
17+
|**xml**|Markup|
18+
|**yaml**|YAML|
19+
|**yml**|YML|
20+
|**rb**|Ruby|
21+
|**jsx**|JSX|
22+
|**kt**|Kotlin|
23+
|**ktm**|Kotlin|
24+
|**kts**|Kotlin|
25+
|**cs**|C#|
26+
|**vb**|Visual Basics|
27+
|**css**|CSS|
28+

0 commit comments

Comments
 (0)