初学者のためのGit/GitHub操作補助フレームワーク.
https://github.com/tamadalab/2020bthesis_masuda
- コンパイル時にcommit差分を比較し,規定値以上の変更があった場合commitを促す.
- 連続したエラーが解消された時点で,commitを促す.
- commitを促す際,add commit pushの簡易にhelp表示する.
- エラー情報を蓄積するDBが1つに集約されているため,ファイルAのエラーが修正されないまま別ファイルを実行すると,ファイルAのエラー情報の影響を受ける.
- コンパイルはgccとclangの場合と手動で制限している該当ファイル.
- .gitフォルダが上位ディレクトリにない場合,.git無いよとエラー出る(操作には影響ない).
- 正直スパゲッティになってるファイルがある.
https://github.com/tmdlab2020TestTeam/testTemplate
GitHubClassroomGitHub Classroomとは
$ git kani disable/enable
disable
でPROJECT_ROOT/.kani/disable
ファイルが作成される.enable
を実行すると,PROJECT_ROOT/.kani/disable
ファイルが削除される.
$ git kani deinit
$HOME/.config/kani/projects
からプロジェクトのパスが削除される.
$ brew tap tamadalab/brew
$ brew install kani
上記コマンドにて,以下のようなディレクトリが作成される.
Installing kani
by Homebrew, the following directories are built.
/usr/local/Celler/kani
├── README.md
├── analyses
│ ├── recommend.py (どういった条件でcommitを促すか決める所)
│ └── commit_guide.txt (commitを促す際の文)
├── bin
│ └── git-kani
└── scripts # utilities (hook functions)
├── chpwd_hook.sh
├── periodic_hook.sh
├── precmd_hook.sh
├── preexec_hook.sh
├── find-project-dir.sh (現在のディレクトリからプロジェクトのルートを取得するスクリプト)
└── is-target-project.sh (現在のディレクトリのプロジェクトがkaniの分析対象かどうかを判定するスクリプト)
Write the following line into your ~/.zshrc
.
eval "$(git kani init -)"
hook関数についてはこの資料を参照してください.
Type the following command.
$ git kani init
-
上記のコマンドで
.git
と同じディレクトリに.kani
ディレクトリが作成される..kani
ディレクトリには,analyses
ディレクトリにあるスクリプトがコピーされる.
-
$HOME/.config/kani/projects
にプロジェクトのパスが追記される. -
PROJECT_ROOT/.kani
には,分析結果のデータを格納している.