課題完了でgithubの草を生やす
githubで草を生やすと良い(ざっくりすぎる)と聞いたことはあるが、そもそも草生やすってどういうことなのか、草を生やす方法は?生やすとどんなメリットがあるのか?などなど深堀していきたい。
さらに課題の完了すなわちgit pushで草が生えるとどこかで見たから、まだまだ課題あるしぜひ導入したい
やること洗い出し
githubで草を生やすとは?
草を生やす方法
・代表的な生やし方
・みんなの生やし方
・RUNTEQ生の生やし方
草を生やすメリット
・生やした方が良いと言われているのはなぜ
課題完了で草を生やせるのか?
こんな感じかな。notionにまとめて、不足部分を補おう。
まずはこの記事で概要・全体像を掴む
【「草が生える」概要】
・Gitは「変更履歴を管理するシステム」
・サル先生のGit入門、NetNinjaさんのGit & GitHub Tutorial for Beginners
・GithubとはGitのリポジトリ(後述)をホスティングできるサービスのことで、GitHubを利用することで、ネットワーク上で開発者同士がソースコードやその変更履歴を共有・公開することができる
・「草」=「コントリビューション(貢献)」。Github内のコントリビューションカレンダーにコントリビューションがつくと緑になるため、その見た目から「草が生える」と呼ばれている。
・草を生やす理由は主に「学習・アウトプットの成果が可視化でモチベアップ」「アウトプットを意識した学習習慣が身に付く」「転職活動で学習・アウトプットを客観的に示せる」
【草を生やす方法】
草を生やすには条件があり、コントリビューションにカウントされる対象を知っておく必要がある。
1.リポジトリのデフォルト・ブランチ or gh-pagesブランチへのコミット
2.イシューを開く
3.プルリクエストを提案する
4.プルリクエスト・レビューの提出
筆者はだいたい4つと言っているからもしかして他にもあるのかもしれないけど、今回の目的である課題完了で草を生やすにはこの4つで十分そう。
プッシュだけだと思ってたけど、コミットだけでもカウントされるのか。
あとは、イシューを開くってところ。言葉では聞いたことあるけど、想像つかない。しかし今回の目的には大いに使えそうな予感がする。
【コミットで草を生やす方法ざっくり】
1.自分のPC上に作業用フォルダ・ファイル(ローカルリポジトリ)を作成
2.Github上にリモートリポジトリを作成
3.ターミナルで作業フォルダに移動し、ローカルリポジトリとリモートリポジトリを紐づける
ここまで出来たら、次回からgit add➔git commit -m で草が生える(コントリビューションとカウントされる)
ローカルリポジトリとリモートリポジトリを紐づけることが重要なんやな。
しかしそれなら今やってる課題のステージングやコミットやプッシュはどこのリモートリポジトリに反映されてるんや?
一旦、自分のGithubをのぞいてみる
repositoiesyに2つある。
1つはRUNTEQ入学時に作ったリポジトリ。これは空でファイルも何も入ってない。
もう1つは最近デプロイを教えてもらう時に作成したリポジトリ。こちらは、ファイルたくさん。デプロイ時にコミットプッシュしたからその日は草生えてる。
自分のリポジトリじゃなくてRUNTEQのgithubにあるリモートリポジトリに変更をコミットプッシュしてんのかな?
デプロイ時のコミットプッシュで草生える感覚は分かったし、記事内でやってる草生やす方法のためのテスト作業は飛ばす。かわりにこのまま課題完了で草を生やす方法を調べていく。
RUNTEQヘルプページで「github」で検索したら「GitHubにもコミット量を記録させたい」ページがヒット
【ざっくり】
・新たに記録用リポジトリをprivateで作成 rails_basicにする
・URLを確認。SSHを選んで、真ん中(push an existing repositry from the command line)のコマンドをコピー
・ローカルリポジトリを作成したリモートリポジトリに紐づける
・masterbrunchをプッシュしてリモート側にリポジトリを複製する
・複製されているか確認
やっていくぞー
まずは、記録用リポジトリ作成
作成できた。
変なことしたからリモートリポジトリ消そう。
リポジトリ消すのって結構面倒くさい作業なんやな。消さずにもうちょっと粘る。
$ git remote -vで紐づいてるリモートリポジトリに作成した記録用リポジトリのURLがなかった。
git remote set-url --add origin [記録先リポジトリのURL]
でリモートリポジトリ追加
再度$ git remote -vで確認したところ、追加はされてるけど、(push)のみで(fetch)はない。
git pushしてみたら記録用リモートリポジトリに複製された。fetchはいらんのか?
masterとは異なる空間的な?ここらへんは勉強せんと簡単には理解できなさそうやな。
とりあえず目的の課題で草生やすは達成できたっぽいので一旦終了。
カリキュラムへ戻る。