Skip to content

A java based implementation of the git version control system. Implements all the basic verison control functionalities along with checkout and merging.

Notifications You must be signed in to change notification settings

gatsby003/version-control-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

version-control-system

Project done as part of a Data Structures course Hug61B taught by UC Berkely's Josh Hug.

A java based implementation of the git version control system. Implements all the basic version control functionalities along with checkout and merging.

  • Classes
    • Main : the main class
    • Repository : the repository class handles implementing all the commands
    • Commit : models the commit objects, provides helper methods for dealing with commits
    • Stage : models the staging area, provides methods for staging and un-staging files.

Commands

  • init : initialises the repository
  • add [filename] : stages file for commit
  • commit -m [message] : creates a commit object
  • log , global-log : displays the information about commits
  • find [commit message] : searches for the commit with the given message
  • status : prints status of the staging area
  • checkout : checks out a branch, file or a particular commit
  • branch [name] : creates a new branch
  • rm-branch : deletes branch
  • reset : checks out files tracked by a given commit
  • merge [branch_name] : merges two branches , also detects merge conflicts

About

A java based implementation of the git version control system. Implements all the basic verison control functionalities along with checkout and merging.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published