GitHubについて　備忘録

# 各種アイコンについて
![スクリーンショット 2022-03-16 22.51.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/616d1a06-49cf-8034-52dc-4d9453648925.png)

## Pin
権限が**ある**(自分の)リポジトリに対してpinを付けることが可能
Pinを付けるとReadMeの下にPinnedとして表示される

![スクリーンショット 2022-03-16 22.52.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/dd7ad5d4-0856-472f-d1d0-ee6dbd6290c0.png)

## Unwatch
権限が**ない**(他人の)リポジトリに対して更新状態を監視することができる。

Watchを選択すると以下が表示される

![スクリーンショット 2022-03-16 22.58.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/53463017-5640-3e6e-a22b-38dae9fab7c7.png)

・Participating and @mentions(デフォルト)
このリポジトリ内で、自分がアサインされているissues等での反応や、@メンションをされた際に通知を送る

・All Activity
Customで設定できる全てをオンにした状態

・Ignore
決して通知を送らない

・Custom
- issues
- Pull requests
- Releases
- Discussions
- Security alerts
それぞれのイベントが発生した時に通知を送る

## Fork
他人のリポジトリを自分のアカウントのリモートリポジトリにコピーする。
この動作はオリジナルリポジトリへの貢献が前提で、リポジトリを所有する開発者に通知が送られる。
(ForkをすることでPullRequestを送ることができる)

## Star
GoogleChromeのお気に入り機能のようなもの
プルダウンボタンから、リストを作成し整理ができる


# リポジトリのアイコンについて
![スクリーンショット 2022-03-16 23.29.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/9c106996-ab02-12dc-c19a-7978a2004720.png)

## main
ブランチの切り替えや新規作成を行える

## Go to file
ファイルの検索を行える
![スクリーンショット 2022-03-16 23.35.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/5d4b31dc-dd50-ba0d-aec8-9ceb6e9f20b3.png)


## Code
ローカルリポジトリ(自分のPC)にクローン(コピー)できる
![スクリーンショット 2022-03-16 23.39.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/564b42ca-184f-9e60-da8d-c3bf258a6800.png)

HTTPS
- ユーザー名・パスワードで認証
- SSHでのクローンより比較的高速
GitHubの推奨している方式で、前からずっと使ってきた方式でもある。

SSH
- 公開鍵をGitHubに登録して認証する
- SSHを使うため安全性が高い
- 鍵の生成などHTTPSに比べて少し手間がかかる
クローン速度ではHTTPSに劣ると言われるが、安全性が保たれているのは大きなメリットだと感じる。鍵の生成と登録が少し手間にはなるが、毎回ユーザー名、パスワードを入れなくても良くなるのは便利。


[公式ドキュメント](https://docs.github.com/ja/repositories/creating-and-managing-repositories/cloning-a-repository)

GitHub CLI

GitHubが公式で提供するコマンドラインインターフェース　GitHub CLIを使用してリポジトリをクローンする。

試したことがないが、ターミナルから直接GitHubを操作できるのが便利そう。

クローンする際には、ユーザー認証をして使用するとのこと。
https://github.com/cli/cli

## Open with GitHub Desktop
GitHubDesktopを開くことができる。
また、Sourcetreeで開くことも可能
![スクリーンショット 2022-03-16 23.58.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/265078b3-1e77-38cd-a6d3-464247b43c47.png)

# Security
![スクリーンショット 2022-03-19 19.00.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/7b7f8191-cb10-8881-e5fb-bba8a09ddca1.png)

- Security policy 
セキュリティーの脆弱性が見つかった場合、発見者がすべき行動をSECURITY.mdに記載できる
[example](https://github.com/ory/examples/blob/master/SECURITY.md)


- Security advisories

- Dependabot alerts
依存関係に脆弱性がある場合、通知を受けることができます。

- Code scanning alerts
よくある脆弱性やコーディングミスを自動で検出

## Insights

### Pulse
Overviewでマージされたプルリクエストやマージ待ちプルリクエスト、イシューの数などが確認できる。
![スクリーンショット 2022-03-19 19.55.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/a58757f8-0aff-2270-96ee-eee522a2f71b.png)

### Contributors
開発メンバーのコミット数のグラフを確認できる。
![スクリーンショット 2022-03-19 20.15.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/de4f1dd1-ad97-5744-55d6-9151e8dc5987.png)

### Community
IssuesやPullRequest, Discussionsの利用状況を確認できる
![スクリーンショット 2022-03-19 20.15.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/f9a25743-4b80-75fa-8a35-dc242cde030b.png)

### Community Standards
IssuesのテンプレートやPullRequestのテンプレートなどを作成できる。
![スクリーンショット 2022-03-19 20.16.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/e4d6e76b-fb63-21d6-5bd2-5d868ab1f4d4.png)

### Traffic
Git clone数やVisitors、views数を確認できる。
![スクリーンショット 2022-03-19 20.16.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/9e245871-0116-3c61-3df2-aa4db42a62cf.png)

### Commits
コミット数のグラフ、曜日別などで確認できる。
![スクリーンショット 2022-03-19 20.16.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/5317f7e4-cd5d-8bdc-c619-21a61020e9f5.png)

### Code frequency
Additions,Deletions具合を確認できる。
![スクリーンショット 2022-03-19 20.16.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/cf4e8b04-9dbb-b5fa-067f-1f74929295b4.png)

### Dependency graph
リポジトリが依存しているライブラリなどを可視化するもの。
![スクリーンショット 2022-03-19 20.16.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/83353d20-020f-053b-768d-2ccafabb989d.png)

### Network
gitのログが枝分かれなどが図式化されているので分かりやすい。
![スクリーンショット 2022-03-19 20.17.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/706125c2-5b97-dde5-ff31-537e93d2bfbb.png)

### Forks
forkが無いと表示されるものがない。
![スクリーンショット 2022-03-19 20.17.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/a6c6ec2d-2348-a77e-1ef0-2101c6f15521.png)

### People
このリポジトリに対して権限を持つメンバー
![スクリーンショット 2022-03-19 20.17.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/4c67e2df-7fdf-ae94-2840-9a9bc3f14d29.png)


# Settings
![スクリーンショット 2022-03-19 20.38.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517291/63f8fb24-5457-af78-c6d2-4af999104ff5.png)

### General
#### Repository name
リポジトリの名前を変更する

#### Template repository
このリポジトリをテンプレートとして使用するかどうか
[詳しくはこの記事を](https://qiita.com/ryo2132/items/08f0561804c798012146)

#### Social preview
SNS等でリポジトリのURLを貼った時に表示されるプレビューの画像を設定できる

#### Features
- **Wikis**
リポジトリのドキュメントを作成するかどうか
Restrict editing to users in teams with push access only 
はWikiの編集権をプッシュアクセス権があるユーザーにだけ制限をかけることができる。

- **Issues**
Issuesを作成するかどうか

- **Sponsorships**
財政的な支援を求めるかどうか

- **Projects**
チケット制のプロジェクトボードを作成するかどうか

- **Preserve this repository**
GitHubの全パブリックリポジトリを北極圏の地下に1000年間保存する「GitHub Arctic Code Vault」に参加するかどうか
[詳しくは](https://cloud.watch.impress.co.jp/docs/event/1219094.html)
要するに世界種子貯蔵庫みたいに、プログラムデータも保存しようぜという取り組み
GitHubの全パブリックリポジトリが対象でデフォルトではチェック(参加)となっている

- **Discussions**
Issuesを作成せずに会話や質問できる場を作成するかどうか

#### PullRequests
どれかに1つはチェックがないといけない
- Allow merge commits
- Allow squash merging
- Allow rebase merging
- Always suggest updating pull request branches
- Allow auto-merge 
- Automatically delete head branches

#### Archives
- Include Git LFS objects in archives
よくわからなかったが、GitHubのアーカイブにラージファイル(容量の大きいファイル)を含めるかどうか


#### GitHub Pages
静的サイトのホスティングサービス
つまり、ログイン系ではないWebサービスなら、これを使うと表示できますよと

#### Danger Zone
- Change repository visibility
リポジトリをパブリックかプライベートかを変更する

- Transfer ownership
リポジトリの所有権を譲渡
利用例
個人開発からチーム開発への移行に伴い、自分のリポジトリから組織リポジトリへ所有権を譲渡

- Archive this repository
よくわからなかったが、このリポジトリは使用しなくなったが、削除すると記事のリンクに貼ってる場合は404になるけど、新しいPRs/issues/commentsは来なくしたいと言った時に使用するのかな？

- Delete this repository
リポジトリの削除


## Collaborators and teams
外部の人にリポジトリへのプッシュアクセス等の権利を与えたい場合

## Team and member roles
組織アカウントでの役割を細かに設定できる

[詳しくは](https://docs.github.com/ja/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization)

## Moderation options
### Interaction limits
### Code review limits
### Reported content

## Branches
### Default branch
デフォルトのブランチを設定できる

### Branch protection rules
ブランチを保護することができる。
個人開発であれば、必要性はそこまで感じないが
複数人での開発を行う際に、mainブランチへのマージはコードレビューを受けたプルリクのみなど指定ができる

## Tags
### Protected tags
タグの命名を保護する


## Actions
### General
### Runners


## Webhooks

## Environments

## Pages