Skip to content

Commit 8de0bdb

Browse files
Merge pull request #1 from Nageswari-droid/git-convex-documentation
Documentation for the package
2 parents 1bbe7a3 + b8d92e8 commit 8de0bdb

File tree

1 file changed

+271
-0
lines changed

1 file changed

+271
-0
lines changed

DOCUMENTATION.md

Lines changed: 271 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,271 @@
1+
2+
# Introduction
3+
4+
5+
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 selected remote and so on.
6+
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?)
7+
## Requirements
8+
1. Node JS (Version 12.0+)
9+
10+
2. Git (Version 2.20+)
11+
12+
13+
14+
## Download Options
15+
16+
17+
- **Option-1:** Directly clone the repo from github
18+
19+
`git clone https://github.com/neel1996/gitconvex-package`
20+
21+
22+
23+
- **Option-2** Downloading the zip file from the [releases](https://github.com/neel1996/gitconvex-package/releases).
24+
25+
26+
27+
- **Option-3** GitConvex is also available on `npm`. Install the package globally to run it directly from the command line,
28+
29+
30+
31+
`npm i -g @itassistors/gitconvex`
32+
33+
34+
35+
This will install **gitconvex** as a global module and it can be started straight away from the command line with `gitconvex` command
36+
37+
38+
39+
```
40+
41+
$ gitconvex
42+
43+
44+
45+
INFO: Checking for config file
46+
47+
INFO: Config file is present
48+
49+
INFO: Reading from config file /usr/lib/node_modules/@itassistors/gitconvex/env_config.json
50+
51+
GitConvex API connected!
52+
53+
54+
55+
Checking data file availability...
56+
57+
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!
58+
59+
60+
61+
You can change this under the settings menu
62+
63+
64+
65+
Gitconvex is running on port 9001
66+
67+
68+
69+
Open http://localhost:9001/ to access gitconvex
70+
71+
```
72+
73+
74+
75+
76+
## Setup
77+
78+
If either download **Option-1** or **Option-2** is followed, then the following steps need to be followed to setup GitConvex
79+
80+
81+
82+
1. For installing all dependencies,
83+
84+
`` $npm install ``
85+
86+
87+
88+
2. To start a server, either use normal node command
89+
90+
`` $node server.js ``
91+
92+
93+
94+
or use `pm2` by downloading it from npm - `npm i -g pm2` and start the module by executing the following command,
95+
96+
`pm2 start ecosystem.config.js`
97+
98+
99+
100+
## Features available
101+
102+
- Visualizing basic repo stats such as active branch, active remotes, number of files tracked etc
103+
104+
- Tracking modified files
105+
106+
- Creating new branches (provided there are no diverging changes)
107+
108+
- Initializing git inside a new repo and adding it to the platform tracker on the go
109+
110+
- File difference tracker with syntax highlighting for the [supported languages](language).
111+
112+
- Commit log viewer
113+
114+
- Basic git operations such as staging, un-staging, committing and pushing to remote repo.
115+
116+
117+
118+
## How to use
119+
120+
121+
122+
### Left Pane Menu
123+
124+
125+
126+
- **Repositories** - To check tracked files changes, line based changes with syntax highlighting and git operations (staging, unstaging, commiting changes and pushing changed to remote)
127+
128+
- **Settings** - To check and edit internal data file, to remove a repo from gitconvex and to update the active port
129+
130+
- **Help** - Includes documentation link and various options to report an issue or to submit feedback
131+
132+
133+
134+
### Adding a new repo
135+
136+
- Use "+" at the bottom right corner to add a repo.
137+
138+
![Picture1](https://user-images.githubusercontent.com/65342122/87232632-0eff7480-c3de-11ea-8a9f-f0a6cf9cd6ee.png)
139+
140+
<br>
141+
142+
- 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.
143+
144+
![Picture2](https://user-images.githubusercontent.com/65342122/87232637-16268280-c3de-11ea-9f9d-708c5a3eb668.png)
145+
146+
147+
148+
- The newly added repo will be displayed as a card in the dashboard
149+
150+
![Picture3](https://user-images.githubusercontent.com/65342122/87232640-1aeb3680-c3de-11ea-8751-e47e5f64c8a1.png)
151+
152+
### Repo Details
153+
154+
- Click on the repo card to get the following details about the repo
155+
156+
```
157+
158+
- The list of branches
159+
160+
- Commit logs
161+
162+
- Latest commit
163+
164+
- Active branch and available local branches
165+
166+
- Remote repo URL and host
167+
168+
- Files and folders tracked by git
169+
170+
```
171+
172+
The repo detail view also provides features for performing the following git operations,
173+
174+
```
175+
176+
- Adding a new branch
177+
178+
- Pulling changes from remote
179+
180+
- Fetching changes from remote
181+
182+
- Adding a new remote repo
183+
184+
```
185+
186+
187+
188+
![Picture4](https://user-images.githubusercontent.com/65342122/87232642-1f175400-c3de-11ea-8ead-80cd5ab4c37c.png)
189+
190+
![enter image description here](https://user-images.githubusercontent.com/65342122/87232671-71587500-c3de-11ea-8ff5-25fb95b08553.png)
191+
192+
193+
194+
#### Add new branch
195+
196+
197+
198+
![Picture5](https://user-images.githubusercontent.com/65342122/87232643-23437180-c3de-11ea-9d9e-7e3c3789c32e.png)
199+
200+
Note: In a newly initialized git repo, the newly added branch will be considered by git only after a initial commit
201+
202+
203+
204+
- Next, left pane consists of repositories, settings and help. In "repositories" choose a saved repo. This module has three sections : File view, Git difference and Git operation. The header portion shows chosen repo name, active branch, number of tracked files and commits.
205+
206+
- File view shows the new/Untracked/Modified/deleted files.
207+
208+
![Picture6](https://user-images.githubusercontent.com/65342122/87232644-29d1e900-c3de-11ea-9adc-03fb4e690882.png)
209+
210+
- Git operations module consists of three basic git operations( Stage all changes, commit changes, push to remote ). Below this file status is display and the files can be staged with add action or click on "stage all changes" to stage all the untracked files from the chosen repo.
211+
212+
213+
214+
![Picture7](https://user-images.githubusercontent.com/65342122/87232645-30f8f700-c3de-11ea-8ddb-52f4d5ec7140.png)
215+
216+
- After add operation all staged files can be removed immediately if you wish to, else ignore it. Reload the page to see the difference in "File View".
217+
218+
![Picture8](https://user-images.githubusercontent.com/65342122/87232658-51c14c80-c3de-11ea-95e1-b9bbeeac82bb.png)
219+
220+
- All staged files can be committed using "Commit changes" module. After commit changes reload the page to see active branch name, number of tracked files and number of commits.
221+
222+
223+
224+
![Picture9](https://user-images.githubusercontent.com/65342122/87232659-56860080-c3de-11ea-9bc4-a19ad727b101.png)
225+
226+
- After **commit changes** operation,
227+
228+
229+
230+
![Picture10](https://user-images.githubusercontent.com/65342122/87232661-5c7be180-c3de-11ea-82b7-104792c2e3ec.png)
231+
232+
233+
234+
- "Push to remote" module pushes all commits to the remote host. If there is no remote in the chosen repo then ignore this module. After the push to remote is completed, check the remote host to see the pushed folder/file.
235+
236+
with Remote(Git Hub)
237+
238+
![Picture11](https://user-images.githubusercontent.com/65342122/87232662-61409580-c3de-11ea-8ad7-61c3871f0a4d.png)
239+
240+
If you try to "push to remote" without having a remote host, "push failed" error message will be displayed.
241+
242+
243+
244+
![Picture12](https://user-images.githubusercontent.com/65342122/87232666-6867a380-c3de-11ea-9903-5ea12200e994.png)
245+
246+
247+
In "Git Difference" click on the modified file(s) to see the difference.
248+
249+
![Picture13](https://user-images.githubusercontent.com/65342122/87232669-6d2c5780-c3de-11ea-9739-f8181e4d0901.png)
250+
251+
- "Stage all changes" and "commit changes" for applying a change.
252+
253+
254+
255+
- Settings in the left pane has three sections( Server data file, saved repos, Active GitConvex port number ).
256+
257+
258+
259+
![Picture15](https://user-images.githubusercontent.com/65342122/87232673-75849280-c3de-11ea-9d01-fe3479282561.png)
260+
261+
262+
263+
- Server data file stores repo details. The data file can be updated. 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
264+
265+
- In the saved repos section, added repo(s) can be deleted permanently from GitConvex.
266+
267+
- The port number can be updated but make sure to restart the app and to change the port in the URL after updating it.
268+
269+
- Visit help section if you're facing an issue or need any help. If you have any queries discuss it in "Discord" or report an issue in GitHub.
270+
271+
![Picture16](https://user-images.githubusercontent.com/65342122/87232674-79b0b000-c3de-11ea-904a-c6a02c4d15f5.png)

0 commit comments

Comments
 (0)