- Project Description
- Installation Guide
- Function design and description(v1.0)
- Function design and description(v2.0)
- Team Information
- About Collaboration
- Copyleft / End User License
This project is a git file browser project that has been expanded by adding Git-related functions to file browsing.
Provides file browsing function by default and provides the following functions.
git init
git add
git commit
git rm
&&git rm --cached
git restore
&&git restore --staged
git mv
git clone from github
In branch menu we provides with GUI
git branch actions(create, delete, rename, checkout, merge)
Commit history about current branch
In addition to these features, it displays the file status (4 types) according to Git status as an image!
Also It displays git commit history(in branch menu) and more specific information when click commit objects.
More specific information, You can check information in Function design and description tab.
Python 3.8+
pip (package installer for Python)
platform : mac OS
- Installation
git clone https://github.com/CAU-OSS-project-practice/OSS-file-manager.git
cd OSS-file-manager
pip install -r requirements.txt
python3 files_new.py
- Operate in virtual environment in case of tkinter library error or python version conflict
python -m venv .venv # .venv crete
source .venv/bin/activate # Run virtual environment
- Disable virtual environment
deactivate
All photos can be viewed as enlarged images when clicked.😀
File browser function |
||
Git init Feature |
|
Show file status according to Git status |
|||
- Staged
- unstaged (modified)
- committed (unmodified)
- staged - unstaged (when a file is changed in the staged state)
Untracked - Staged files ex) When executing the git rm --cached command, untracked is made to work as a priority.
Git add Feature |
||
Git commit Feature |
|
Git restore Feature |
|
Git restore --staged Feature |
|
Git rm Feature |
|
Git rm --cached Feature |
|
Git mv Feature |
|
All photos can be viewed as enlarged images when clicked.😀
New Feature has updated.
- We updated basic Git branch associated action(Create, Delete, Rename, Checkout).
- We updated Git merge action
- And We can also check Git commit history
- Git clone from Github
Feature 1 , 2 and 3 can be activated through the Branch Menu button.
Feature No. 3 was implemented by adding a button to the place where v1.0's git-related actions were gathered.
Branch Create Feature it asks the user to enter a branch name and then creates a branch with the name |
|
Git Delete Feature it shows the list of branches, asks the user to select one of them, and deletes the selected one |
||
Git Rename Feature it shows the list of branches, asks the user to select one of them and to enter a new name, and renames the branch. |
||
Git Checkout Feature it shows the list of branches, asks the user to select one of them, and checkout the branch. |
||
Error message windows If it is not possible to perform the requested action, then report an error message to the user. We have two cases 1. When attempting to delete a current checked out branch 2. When attempting to rename a selected branch to already exists branch name 3. When attempting to create a branch that same name with already exists branch First Case(Try to delete current checked out branch) |
||
Second Case(Try to rename selected branch to already exist branch) |
||
Third Case(Try to create branch that has name same with already existing branch) |
||
We updated the Feature Git merge Action.
We provides a branch list that will be merged to current branch
And after that, by clicking merge button, user can do merge action
There are two option
1. Fast-forward merge
2. 3-way-merge
And we show Error message when some error created.
Fast-forward merge |
||
3-way merge |
||
Git Merge error messages In 3-way merge, merge conflict can be generated. We provides the user with an error message. and merge abort button to abort merge. |
|||
Git commit history with Graph 1. You can check the workflow of the current branch. 2. When you click commit object in graph, You can check detailed information of commit object. |
|
Git Clone from public repository |
|
Git Clone from private repository |
||
Tools used for the collaborative development
This program is licensed under the Python Software Foundation License (PSF License). third party softwares that may be contained in this program is referd in license.txt below.