自動化の実装をする前にまとめてみた。
目的
ふだん行っているGitやGitHubの操作を自動化したい。バッチによる実装をしたがPython化したい。また、さまざまなユースケースに対応したい。それをCUIツールにまとめたい。
方針
- どんな操作をするのか網羅する
- ユースケースを網羅する
- インタフェースを用意する
- 実装する
- 使う
今回は操作の網羅まで。
使うもの
項目 | 概要 |
---|---|
gitコマンド | gitによりリビジョン管理する |
GitHubAPI | サーバにgit管理ファイルをアップロードする |
gitコマンド
登録前
コマンド | 補足 |
---|---|
git init |
ファイル一覧するためにはまず.git 作成する必要があるため行う。まだcommitはしたくない。 |
git add -n . |
addするファイル一覧を見たい |
git commit -m "message" |
gitのリビジョン管理に状態を追加する。まだリモートリポジトリは作っていない。 |
git remote add origin git@%SSH_HOST%:%USER_NAME%/%REPO_NAME%.git |
リモートリポジトリ生成時に1回だけ行う。 |
git push origin master |
現在のgit状態をGitHubサーバにpushする(アップロードする) |
登録後
更新
コマンド | 補足 |
---|---|
git commit -m "message" |
gitのリビジョン管理に状態を追加する。 |
git push origin master |
現在のgit状態をGitHubサーバにpushする(アップロードする) |
確認
コマンド | 補足 |
---|---|
git log |
commit履歴を見る |
git status |
直前のcommitと現状の差分ファイルを見る |
git show |
commitの変更点を見る |
git diff |
ファイル内容の差分コードを見る |
.git
ディレクトリを削除する……ことは少ないか。
共通
コマンド | 補足 |
---|---|
git config –local user.name “%USER_NAME%” | ユーザを指定する |
git config –local user.email “%USER_MAIL%” | メールアドレスを指定する |
GitHub API
登録前
登録後
確認
Issue
issueは優先度低。
所感
コマンドだけなら大したことなさそうに見える。1コマンドずつ実行するなら簡単。でも、ユースケースごとにルート分岐すると面倒になる。