GitHub
リポジトリ
デフォルトブランチの変更
ライセンスファイルの追加
「新規ファイル追加」でファイル名LICENSE
を追加しようとするとテンプレートを選択するボタンが表示される。
設定
2要素認証を設定
git cloneの認証
HTTPS
GitHubのアカウントでは認証できないので、個人用アクセストークンを作成する。
トークンの作成は、個人アクセストークンを使用する - GitHub Docsを参照。
Settings -> Developer settings -> Personal access tokens -> Tokens(classic)で、「Generate new token (classic)」押下し、Scopeのrepo
にチェックを入れて作成したトークンをパスワードとして使用する。
ユーザー名はGitHubアカウント名を使用する。
PR
issueとの関連付け
Pull RequestをIssueにリンクする - GitHub Docs
マージで自動クローズするキーワード
- close
- closes
- closed
- fix
- fixes
- fixed
- resolve
- resolves
- resolved
レビュー
コメント入力のあとに[Submit review]を忘れないこと。
- Request changes / 追加修正がある場合
- Approve / 問題ない場合
- Comment / その他
suggested change
その場で修正コミットを送るには、対象行を選択して「Commit suggestion」押下、テキストフィールドにsuggestion
というコードブロックが入るので、その内容を正しいものに修正して
プルリクエストでのフィードバックを取り込む - GitHub Docs
PRマージ時のブランチ自動削除
リポジトリの設定から。
PR作成後にコミットを追加したい場合
PRがopenのままリジェクトとかされてないなら、追いpushすれば自動的に反映される。
Release
webでtag作成とrelease作成
まずリリース一覧ページへ遷移、[Draft a new release]押下し、[Choose a tag]から[Find or create a new tag]に作成するタグ名を入力してCreateする。
[Generate release notes]押下すると、それっぽい情報が自動入力されるのでそれを編集。
下部の"Attach binaries by dropping them here or selecting them"にzipなどのバイナリファイルがあれば添付する。
あとは[Publish release]すればtagとreleaseが作成され公開される。
API
デフォルトブランチを取得する
https://api.github.com/repos/{owner}/{repo}
をGET
すると、対象リポジトリの情報を取得できる。
JSON形式のレスポンスのうち、default_branch
キーの値にデフォルトブランチがセットされている。
$ curl https://api.github.com/repos/netbox-community/ansible_modules
{
"id": 204365310,
"node_id": "MDEwOlJlcG9zaXRvcnkyMDQzNjUzMTA=",
"name": "ansible_modules",
"full_name": "netbox-community/ansible_modules",
"private": false,
:
:
"visibility": "public",
"forks": 123,
"open_issues": 46,
"watchers": 200,
"default_branch": "devel",
:
:
}
diff
コミットを比較するには、<リポジトリURL>/compare/SHAコードA..SHAコードB
を開く。
例: Comparing 3474..faf3 · zaki-lknr/docs
同じコードを指定して^
や~n
も指定できる。