Skip to content

JunNishimura/Goit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

facebook_cover_photo_2

GitHub release (latest by date) GitHub test Go Report Card

Goit - Git made by Golang

📖 Overview

Goit is a version control tool just like Git made by Golang.

💻 Installation

Homebrew Tap

brew install JunNishimura/tap/Goit

go intall

go install github.com/JunNishimura/Goit@latest

🔨 Commands

Available

  • init - initialize Goit, make .goit directory where you init
  • add - make goit object and register to index
  • commit - make commit object
  • rm - remove from the working tree and the index
  • branch - manipulate branches
  • switch - switch branches
  • restore - restore files
  • reset - reset HEAD to the specified state
  • status (NEW FEATURE🎉) - show the working tree status
  • log - show commit history
  • reflog - show reference log
  • config - set config. e.x.) name, email
  • cat-file - show goit object data
  • ls-files - show index
  • hash-object - show hash of file
  • rev-parse - show hash of reference such as branch, HEAD
  • update-ref - update reference
  • write-tree - write tree object
  • version - show version of Goit

Future

  • tag
  • checkout
  • merge
  • stash
  • revert
  • diff
  • read-tree
  • symbolic-ref
  • cherry-pick
  • rebase

👀 How to use

0. Install Goit

see Installation above.

1. Move to the directory you want to use goit

cd /home/usr/sample 

2. Initialize Goit

goit init

3. add test.txt

echo "Hello, World" > test.txt

4. run add command to convert text file to goit object

goit add test.txt

5. run config command to set config

goit config --global user.name 'Goit'
goit config --global user.email '[email protected]'

6. run commit command to make commit object

goit commit -m "init"

7. look at inside commit object

goit rev-parse main
goit cat-file -p `hash`

Perfect!! You now understand the basic of goit🎉

🪧 License

Goit is released under MIT License. See MIT