{"id":26022854,"url":"https://github.com/junnishimura/goit","last_synced_at":"2025-03-06T10:37:13.519Z","repository":{"id":169967710,"uuid":"621372577","full_name":"JunNishimura/Goit","owner":"JunNishimura","description":"Git made by Golang","archived":false,"fork":false,"pushed_at":"2025-02-18T14:14:18.000Z","size":372,"stargazers_count":12,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-18T15:26:31.721Z","etag":null,"topics":["cli","git","go"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JunNishimura.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-30T14:29:06.000Z","updated_at":"2025-02-18T14:14:16.000Z","dependencies_parsed_at":"2024-06-20T01:24:18.575Z","dependency_job_id":null,"html_url":"https://github.com/JunNishimura/Goit","commit_stats":null,"previous_names":["junnishimura/goit"],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JunNishimura%2FGoit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JunNishimura%2FGoit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JunNishimura%2FGoit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JunNishimura%2FGoit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JunNishimura","download_url":"https://codeload.github.com/JunNishimura/Goit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242194211,"owners_count":20087530,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","git","go"],"created_at":"2025-03-06T10:37:13.050Z","updated_at":"2025-03-06T10:37:13.503Z","avatar_url":"https://github.com/JunNishimura.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"![facebook_cover_photo_2](https://github.com/JunNishimura/Goit/assets/28744711/919d78ca-52bf-481d-883e-b17cf0b9ea69)\n\n\u003cp align='center'\u003e\n  \u003cimg alt=\"GitHub release (latest by date)\" src=\"https://img.shields.io/github/v/release/JunNishimura/Goit\"\u003e\n  \u003cimg alt=\"GitHub\" src=\"https://img.shields.io/github/license/JunNishimura/Goit\"\u003e\n  \u003ca href=\"https://github.com/JunNishimura/Goit/actions/workflows/test.yml\"\u003e\u003cimg src=\"https://github.com/JunNishimura/Goit/actions/workflows/test.yml/badge.svg\" alt=\"test\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://goreportcard.com/report/github.com/JunNishimura/Goit\"\u003e\u003cimg src=\"https://goreportcard.com/badge/github.com/JunNishimura/Goit\" alt=\"Go Report Card\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# Goit - Git made by Golang\n\n## 📖 Overview\nGoit is a version control tool just like Git made by Golang.\n\n## 💻 Installation\n### Homebrew Tap\n```\nbrew install JunNishimura/tap/Goit\n```\n\n### go intall\n```\ngo install github.com/JunNishimura/Goit@latest\n```\n\n## 🔨 Commands\n### Available\n- [x] `init` - initialize Goit, make .goit directory where you init\n- [x] `add` - make goit object and register to index\n- [x] `commit` - make commit object\n- [x] `rm` - remove from the working tree and the index\n- [x] `branch` - manipulate branches\n- [x] `switch` - switch branches\n- [x] `restore` - restore files\n- [x] `reset` - reset HEAD to the specified state\n- [x] `status` (**NEW FEATURE🎉**) - show the working tree status\n- [x] `log` - show commit history\n- [x] `reflog` - show reference log\n- [x] `config` - set config. e.x.) name, email\n- [x] `cat-file` - show goit object data\n- [x] `ls-files` - show index\n- [x] `hash-object` - show hash of file\n- [x] `rev-parse` - show hash of reference such as branch, HEAD\n- [x] `update-ref` - update reference\n- [x] `write-tree` - write tree object\n- [x] `version` - show version of Goit\n\n### Future\n- [ ] tag\n- [ ] checkout\n- [ ] merge\n- [ ] stash\n- [ ] revert\n- [ ] diff\n- [ ] read-tree\n- [ ] symbolic-ref\n- [ ] cherry-pick\n- [ ] rebase\n\n## 👀 How to use\n### 0. Install Goit\nsee Installation above.\n\n### 1. Move to the directory you want to use goit\n```\ncd /home/usr/sample \n```\n\n### 2. Initialize Goit\n```\ngoit init\n```\n\n### 3. add test.txt\n```\necho \"Hello, World\" \u003e test.txt\n```\n\n### 4. run `add` command to convert text file to goit object\n```\ngoit add test.txt\n```\n\n### 5. run `config` command to set config\n```\ngoit config --global user.name 'Goit'\ngoit config --global user.email 'goit@example.com'\n```\n\n### 6. run `commit` command to make commit object\n```\ngoit commit -m \"init\"\n```\n\n### 7. look at inside commit object\n```\ngoit rev-parse main\ngoit cat-file -p `hash`\n```\n\nPerfect!! You now understand the basic of goit🎉\n\n\n## 🪧 License\nGoit is released under MIT License. See [MIT](https://raw.githubusercontent.com/JunNishimura/Goit/main/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunnishimura%2Fgoit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjunnishimura%2Fgoit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunnishimura%2Fgoit/lists"}