Skip to content

Implemented my own git, a version control language

Notifications You must be signed in to change notification settings

Curiouskid0423/Git

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Implement Git

UC Berkeley Data Structure Class, Spring 2020, final project expanded version.


Implemented my own git, a version control language, with no external backbone code support. Gitlet is written with about 2200 lines of Java. It support plain files tracking, remote collaboration, basically most of the essential git commands and functionality. May, 2020

Disclaimer:    Future CS61b peeps, this repo would NOT work for your autograder tests. It has been modified quite a lot after the class to achieve the result that I want, so do yourself a favor and do not clone it :)
git logo

Supported Commands

Local features

init  add  commit  rm  log  global-log  find  status  checkout  branch  rm-branch  reset  merge  help

Remote features

add-remote  rm-remote  push  fetch  pull  list-remote


Development uses

  • If you want to create your own git as well (super fun!), check out the java files in /development directory.
    Makefile, test cases, and tester files are provided by CS61B course staff. All the other files are written by myself.

Production uses

  • Check out the /production directory, which includes a .launcher.sh shell script and some other java class files. Setup with the following steps.
    • source .launcher.sh : Run the shell script every time the terminal is restarted, or add the path to your /.bashrc file (or whatever shell rc file).
    • gitlet init
    • gitlet <any command above>

git logo