A tool for supporting git/GitHub operation for the novice developers.
Learning the git and GitHub operation is difficult for novice programmers.
Since even programming is a pretty complicated task, it becomes challenging to consider various kinds of operation except programming, such as good commit, pull requests, etc.
However, the recent development process ordinary manages product versions with SCM such as git.
Therefore, it requires the novices should learn them as soon as possible.
Then, we focus on the commits' timing, and the proposed system recommends commit at the suitable timing.
Also, the recommendation text contains a simple help message for git.
From above two manners, we expect the novices accustomed git.
The proposed system, named kani, records the terminal's executed commands and runs the recommendation engine by each recoding.
The recommendation engine analyzes the histories of the executed commands with their status codes and statuses of git.
- Records the executed command in your terminal in your repository,
- Runs analysis scripts by each command execution,
- Recommends the timing of
git commit, andgit push.
- Recommends the timing of
- Shows simple usage of
git commitandgit push.
kani recommends the operations of git and GitHub from behaviors of novices in the terminal.
Therefore, the goal of kani is to become unnecessary for novices, like walking assist instrument for babies.
For this, kani wants to measure git/GitHub operation maturity rates (GOMR) for the novices.
GOMR would measure by the following methods.
- Matching rates with the behaviors of experts (recording beforehand)
- Following rates of Git flow, GitHub flow, or GitLab flow.
kani runs on zsh, and bash only.
Not work on other shells (csh, ksh, fish, ...).
- rcaloras/bash-preexec
- Runs
kanion bash environment.
- Runs
Type the following two commands, then kani will be installed into your /usr/local/opt/kani
brew tap tamadalab/brew
brew install kani- Clone the
kanirepository from GitHub (tamadalab/kani).git clone https://github.com/tamadalab/kani.git
- Move to the cloned
kanidirectory.cd kani
- Compile the sources.
make
- Make distribution file.
make dist
- Extract the suitable archive file in
distdirectory in your system.tar xvfz dist/kani-1.0.0-windows-amd64.tar.gz -C INSTALL_DIR
- Set
KANI_HOMEenvironment value to yourINSTALL_DIRsetenv KANI_HOME=${INSTALL_DIR}- the above line should be written in your
.bashrcor.zshrc.
At first, write the following snippet in your login shell initializer (.bashrc, or .zshrc)
eval "$(kani init -)"- Choose your
gitrepositories to runkani, - Change directory to your local
gitrepository, - Run
kani initcommand for preparing thekanirunning on the repository.
If you want to stop recoding command temporary, run kani disable (kani creates file disable on .kani directory).
Then, want to start recoding again, run kani enable.
If typing kani deinit in a particular repository, kani never records anymore.
After that, typing kani init, kani starts recoding again.
The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law.
You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission. See Other Information below.
This image comes from https://freesvg.org/crab-image (Public Domain)
We do not know.
Note that kani means crab in Japanese.
- Lassi Haaranen, and Teemu Lehtinen, "Teaching Git on the Side: Version Control System as a Course Platform," Proc. the 2015 ACM Conference on In novation and Technology in Computer Science Education, pp. 87โ92, DOI: 10.1145/2729094.2742608, June 2015, https://dl.acm.org/doi/10.1145/2729094.2742608.
- Ville Isomรถttรถnen, and Michael Cochez, "Challenges and Confusions in Learning Version Control with Git," Proc. Information and Communication Technologies in Education, Research, and Industrial Applications (ICTERI 2014), pp. 178-193, DOI: 10.1007/978-3-319-13206-8_9, November 2014, https://link.springer.com/chapter/10.1007/978-3-319-13206-8_9.
- ไบไธ ๆๆตท, ๅฐๅณถ ้ฅไธ้, ่คๅ ่ณขไบ, ไบๅฃ ๅฎ, "็็ฎก็ใทในใใ ๅฉ็จๆใฎใฝใใใฆใงใข้็บใใญใผ้ตๅฎ็ถๆณๅฏ่ฆๅๆๆณใฎๆค่จ", ไฟกๅญฆๆๆณ, No.SS2017-55, January 2018.
