初めてのgithubで簡易的な流れを完全に理解した話①
Rad Adventar 2022 の6日目の記事です。
https://scrapbox.io/files/6381c8ada58f990021f33c92.png
ご挨拶
こんにちはkinoko.iconといいます。
この日の担当は自分ということでよろしくお願いします。
記事を書くのは初めてなので緊張してます。
最初はDockerについて書こうかな?なんて考えていました。
しかしですね…初っ端から飛ばしていったら私の浅い知識が底をついてしまうのではないかと…説明が難しいんじゃないかと邪推してしまったので、(主に頭の中の)筆が伸びなかったですね。
Dockerと違い、Githubは誰でも使うので、一発目の記事として最大火力が出るんじゃないかと書かせていただいた所存です。
と言いましても、実はGithubを使ったのは最近でして、間違えてる箇所も多くあるかもしれないですね。
あと、1記事10分ほどとの伝達なので、苦しくも①とさせていただきました。
コメント欄とかはない?のでTwitterの個人DMにでも気になった箇所や良い提案ございましたらご指摘願えますと嬉しいです。
(またこの記事では Ubuntu 20.04 LTS の bash で行っています)
それでは行ってみよう!
導入
Githubってなんだと思います?
そうですね。バージョン管理ツールのGUIみたいなもんですね。
内部的なものはバージョン管理ツールのGitが行っているようです。
そんなGitは便利な機能が多くあるそうなんですが、今回は簡易的な流れを把握していきたいと思います。
(あくまで簡易的な流れなので、ブランチの名前変更とか付随するバグとか細かい部分は解説してません!)
では、簡易的な流れをとりあえず羅列させます。
remote repository の作成
clone
branch
checkout
issue
status
add(staging)
commit
fetch
pull
push
tag
pull request
いや、多すぎ!!!!
これでも”簡易的な”流れなので多少削っているのですが多すぎますね…
根気強くいきましょう!
①ではcheckoutまで解説したいと思っています。
それでは『remote repository の作成』から解説してきます
remote repository の作成
Githubで remote repository を作成します。
Githubの登録などはここでは解説しません!
『Github 始め方』などでググってもらうとすぐ出てきます!(リンクを貼っていいかわからないので今回はスルーしてます)
そしてプロフィール画面に行ってもらうと5つほどアイコンが並んでると思うのでRepositoriesを押します。
https://scrapbox.io/files/638701cc0f561e001dbcf521.png
そうしたら『new』を押します
https://scrapbox.io/files/63870223446d0d001dbf947d.png
この『Create a new repository』画面が出てくると思います。
https://scrapbox.io/files/63870250ba9a37001da79106.png
英語をDeepLなどで翻訳させれば意味はわかるとは思いますが、ちょこっと解説します。
Repository name
リモートレポジトリの名前を決められます。
変な名前にしないほうがいいですよ!
レポジトリを公開する場合この名前で表示されるので!
Description
簡易的な説明です。
なんのレポジトリなのかひと目で分かるような説明にしましょう!
本格的に説明したい場合、README file にマークダウン記法で書きますので安心してください。
Public or Private
公開範囲の設定です。
public
レポジトリを世界に公開して誰でもアクセスできるようにする。
private
レポジトリを鍵にかけて指定した人しか見れないようにする。
(指定は後で行います)
もしあなたが練習でレポジトリを作っているならprivateが無難でしょう。
Add a README file
README.md fileをレポジトリ作成時に自動作成します。
マークダウン記法のファイル(メモ帳みたいなもの)なのであってもなくてもあまり気にする必要はありません。
しかし、説明があって損はないので作成して、レポジトリの詳細を書いたほうがよいです。多分。
Add .gitignore
バージョン管理の対象から外すファイルを書くファイルです。
いわゆるブラックリストみたいなものですね。
これは超重要です。これ一つで記事かけるくらいには。特に共同作業してる場合は変なファイルがポンポン入ってくるので。
しかし、どれを外した方がいいのかわからないことが多いので、しっかり調べた上で行ってください。
重要なファイルをブラックリスト入りさせて同期できませんはご法度です!
誰か全てに適応できる git ignore のベストプラクティス教えてくれないかな…(そんなものはない)
Choose a license
ライセンスを選択できます。
ライセンスはちょっと専門外なので教えることはできないのですが、個人利用なら基本選択なしでいいと思います。
無難な規約になるはずなので。
選択を終えたら『remote repository の作成』終了です。
次は Ubuntu 20.04 LTS の bash画面で行っていきます(ほかもコマンドはそこまで変わりないと思うので安心してください)。
clone
cloneとはあなたのパソコンにリモートレポジトリの内容をコピーすることなのです!
下の図はイメージ図です。
https://scrapbox.io/files/63872f9cf66c47002271491c.png
では、先程のリモートレポジトリをローカルレポジトリとしてコピー(clone)したいと思います。
まず、コピーしたいフォルダに移動してください。
cloneするためのコマンドは下記です。
git clone git@github.com:<クローンしたい対象のgithub name>/<リモートレポジトリ名>.git
自分だったら自分の、他の方だったら他の方のgithub nameをここには書きましょう。
これであなたのパソコンにリモートレポジトリが作成されたはずです(もしエラーが出たらgitの登録の部分でconfig設定やssh設定などをしていないのかもしれないのでエラーの内容を確認してください)。
branch
次はブランチを作りましょう。
ブランチモデルを決めておくとスムーズですね。
ブランチモデルについては記事を個別で出したいなと考えています。
話を戻すと、ブランチはいわゆるゲームで言うセーブデータみたいなもので、これにコードの上書き保存を行っていくのです。
git branch <ブランチ名>
で作成できます。
ブランチができたかの確認は
で確認できます。
code:bash
$ git branch
*main
<さっき作ったブランチ名>
で表示されてるのではないでしょうか?
アスタリスクが戦闘に付いてる箇所が今いるセーブデータです。
セーブデータ1ですね。
そしてセーブデータの移動方法が次のcheckoutとなります。
checkout
ゲームだと十字キーでセーブデータの移動ってできますよね…
しかし、githubではcheckoutコマンドを打つことでセーブデータを切り替えます。
git checkout <さっき作ったブランチ名>
これでもう一度確認すると…
code:bash
$ git branch
main
*<さっき作ったブランチ名>
となります。
アスタリスクの位置がさっき作ったブランチ名の先頭に来ているはずです。
これでブランチ間を移動していくんですね。
おまけ
code:bash
$ git checkout -b <ブランチ名>
上記のコマンドを打つとブランチを作成した後移動まで行ってくれます。
いちいちbranch作成してからcheckoutで移動しなくて済むので活用しましょう。
①の終わり
記事をcheckoutまで書いたのですが、ちょっと反省しています。
いや、長すぎますねこのトピック。
もっと短いものにすればよかった。ブランチモデルとか!
しかも解説がところどころ丁寧じゃないせいで誰に向けての記事なのかわかりにくいし…
反省点がいっぱいです。
②はcheckoutの続きのissue~pullまでを書きたいと思っています。
3部作になって申し訳ないですが、読んでいただけると嬉しいです。
②につづく…
/icons/hr.icon