______ _______ _____
/\ \ /::\ \ /\ \
/::\ \ /::::\ \ /::\ \
/::::\ \ /::::::\ \ \:::\ \
/::::::\ \ /::::::::\ \ \:::\ \
/:::/\:::\ \ /:::/~~\:::\ \ \:::\ \
/:::/ \:::\ \ /:::/ \:::\ \ \:::\ \
/:::/ \:::\ \ /:::/ / \:::\ \ /::::\ \
/:::/ / \:::\ \ /:::/____/ \:::\____\ /::::::\ \
/:::/ / \:::\ ___\ |:::| | |:::| | /:::/\:::\ \
/:::/____/ ___\:::| ||:::|____| |:::| | /:::/ \:::\____\
\:::\ \ /\ /:::|____| \:::\ \ /:::/ / /:::/ \::/ /
\:::\ /::\ \::/ / \:::\ \ /:::/ / /:::/ / \/____/
\:::\ \:::\ \/____/ \:::\ /:::/ / /:::/ /
\:::\ \:::\____\ \:::\__/:::/ / /:::/ /
\:::\ /:::/ / \::::::::/ / \::/ /
\:::\/:::/ / \::::::/ / \/____/
\::::::/ / \::::/ /
\::::/ / \::/____/
\::/____/ ~~
got
is a command-line interface tool designed for version control. It offers a variety of functions similar to Git but with its unique syntax and features. Here's a brief overview of its capabilities:
-
Initialization (
init
): Initialize a new version-controlled project. Usage:./got init <path>
-
Addition (
add
): Add files to the staging area in preparation for committing. Usage:./got add <file>
-
Removal (
rm
): Remove files from the current working directory and the staging area. Usage:./got rm <file>
-
Committing Changes (
commit
): Save the staged changes to the project history. Usage:./got commit -m <message>
-
Viewing Log (
log
): Display a log of all commits made to the repository. Usage:./got log
-
Checking Status (
status
): View the status of files in the current working directory and staging area. Usage:./got status
-
Branching (
branch
): Manage branches in the repository. Usage:./got branch
to list branches or./got branch -D <branch>
to delete a branch -
Checkout (
checkout
): Switch between different branches. Usage:./got checkout <branch>
to switch to an existing branch or./got checkout -b <branch>
to switch to a new branch -
Reset (
reset
): Reset commit and / or repository history to a timestamp. Usage:./got reset <timestamp>
to reset commit history or./got reset --hard <timestamp>
to reset commit and repository history. You can get timestamps from./got log
. -
Merging (
merge
): [Feature in Development] Merge changes from different branches. -
Stashing (
stash
): [Feature in Development] Temporarily store modified, tracked files. -
Diffing (
diff
): [Feature in Development] Compare changes across commits, branches, etc. -
General Help: Get a general usage guide by running
got
without arguments.
./got init
echo "bar" > repo/foo.txt
./got add foo.txt
./got commit -m "Create foo"
echo "buzz" > repo/fizz.txt
./got add fizz.txt
./got commit -m "Create fizz"
./got rm fizz.txt
./got commit -m "Remove fizz"
-
Bryant Park (blp73)
-
Chris Xu (cx72)
-
Junkai Zheng (jz765)
-
Ryan Ho (rh564)