【GitHub勉強会】GitHubに草を生やす方法【day58】

Git

プログラミング独学day58の学習で、得たことや気づきを教えて!

今日は、もりけん塾でGitHub勉強会に参加しました。

・GitHubで草を生やす方法

をアウトプットします!

 

 

 

こんにちは。プログラミングでweb制作ができるようになりたいharuです。

2歳0歳の育児をしながら、22時〜1時に独学しています!

→プログラミング学習day58、もりけん塾day13

 

わかったことや、気付きをログに残します。

同じく初学者の人が、これをみてインプットや復習ができるように書いていきます。

【GitHub勉強会】GitHubに草を生やす方法

#もりけん塾 にてGitHub勉強会に参加しました。

師匠「もりけんさん」(@terrace_tec)、参加者のみなさま、私情で出たり入ったりしてご迷惑をおかけいたしましたが、本当にありがとうございました!

深夜までお時間を割いてくださったもりけんさん…

このお時間を無駄にせぬよう、毎日一人で草を生やすためにアウトプットをしていきます!参加できなかった方にもわかるように、説明していきたいと思います。

 

草を生やす流れ(GitHubに公開する流れ)

草を生やす流れを簡単に説明します。
ここでは、ターミナルからコマンドを操作する方法で公開していきます。

ゴール:ローカル環境で変更を加えたファイルをGitHub上に公開する

【流れ】
(準備:まずはGitHub上でリモートリポジトリを作成)
①コマンドでbranchの準備
②ローカル環境でファイルの変更をおこなう
③共有したいファイルをindexする
④ローカルリポジトリにcommitする
⑤GitHub上に公開=pushする
⑥GitHub上でpull,mergeをおこなう=ここで草が生える!
⑦ ⑥で生まれた差分をローカルに取り込む
次から、1つ1つ解説していきます。

準備:まずはGitHub上でリモートリポジトリを作成

まずはMyPageから、Repositoriesタブ→緑のnewボタンでリモートリポジトリの新規作成

 

Repository nameに自分でつけたリポジトリ名を入力→Create Repositoryボタンで作成完了です。
わたしは、coding_practiceと名付けました。

作成したリポジトリのページから、緑のcodeボタン→URLをコピーしておきます。

ここで、GitHubの新規リポジトリをローカルに取り込みます。

git clone リポジトリURL

 

詳しくは、こちらが参考になります

これで、わたしで言うと「coding_practice」と言うディレクトリがローカルに取り込まれました。

 

①コマンドでbranchの準備

ターミナルでコマンドを使ってbranch(ブランチ)の準備をしていきます。

 

branchとは
変更を記録していく枝のような存在。
それぞれの枝で作業した内容は、ほかの枝に影響されない。

 

①master branch に移動する

master branchとは、木で言う”幹”のことです。
作業中のbranchがmasterかどうか確認するクセをつけます。

・master branchに移動する

git checkout master

 

・今いるbranchを確認する(ローカルブランチの一覧が見れます)

git branch

 

*git branchのそのほかのオプションコマンドはこちらを参考にしました。

②作業中のbranchを切る(+ 新しいbranchへ移動)

作業中のbranchを切り、新しいbranchへ移動します。

・コマンドでbranchの新規作成

 git checkout -b 新しいbranch名

master以外の新しいbranch名(なんでも可)をつけます。
わたしは、practice2と名付けました。

 

②ローカル環境でファイルの変更をおこなう

アップしたいファイル内容を変更します。
わたしは、htmlファイルをアップしたいので<p>タグを追加し保存。

コマンドから変更の確認ができます。

・変更の確認(赤い状態になる)

git status

 

以下、ターミナルの画面です↓

→このように、変更されたディレクトリやファイルが赤く表示されます。

・変更の内容を詳しく確認する

git diff

 

③共有したいファイルをindexする

次に、今変更を加えたファイルをindexに登録していきます。

indexとは、リポジトリにcommitの準備をするための場所のことです。

【今ここ】
自分のワークスペース→index→ローカルリポジトリにcommit→リモートリポジトリにpush

 

indexの詳しい説明は、こちらを合わせて読みました。

 

早速indexしていきます。

・既存のファイルを変更する場合

 git add .

 

・新規のファイルがある場合

 git add --all

→わたしは初めてのindexだったので、こちらを使いました。

 

④ローカルリポジトリにcommitする

次に、ローカルリポジトリにcommitしていきます。

commitすることで、木の幹 (branch)に枝が伸びるイメージです。

 

git commit -m "メッセージ"

わたしは、git commit -m “add p”と入力。

 

⑤GitHub上に公開=pushする

GitHub上に変更したファイルを公開するために、pushしていきます。

 

git push origin head

→”head”とすることで、コミットの一番新しいものを指定することができます!(現在のブランチの先頭と言う意味でしょうか)

pushすると、ターミナルはこのような画面になります。

GitHub上で確認してみましょう。pushが完了していれば、GitHubに公開されているはずです。

わたしは、index.htmlの入ったディレクトリ[cresta_beginner]が公開されました。

④で入れたcommitメッセージ”add p”も公開されています。

 

⑥GitHub上でpull request→mergeをおこなう=ここで草が生える!

次に、GitHub上でpull request→mergeを行います。

pull request→mergeとは
幹となるmaster brunchに、枝(子branch)を合流させることです。

(引用:ics.media より)←pull request〜mergeの理解が深まります!
GitHubでpushしたあと、しばらくはpull requerstの表示がみやすく表示されます。
下記の画像で言うと、黄色で囲まれたところです。
「Compare & pull  request」の緑ボタンを押下でpullrequest→mergeができます。


(引用:https://qiita.com/samurai_runner/items/7442521bce2d6ac9330b

 

詳しい流れは、こちらを参考に

 

⑦ ⑥で生まれた差分をローカルに取り込む

先ほどmaster branchにmergeさせた内容は、ローカルリポジトリには反映されていないので取り込む必要があります。

コマンドで、master branchに移動→pullを行います。

 git checkout master
 git pull origin master

 

このpull作業は、
$git statusでローカルの変更がない場合のみ有効(緑の場合です)ローカルで何か変更を行なっている場合=エラーになってしまいます。
=リモートリポジトリには反映されていない変更があるため【ローカルで変更を行なっている場合】
$git stash で作業中のものを一時的によけてpullをする。

あとで「直前の」作業中のものを戻す時は$git stash apply
$git stash listでよけた一覧が見れる
そこから直前のもの以外も取り込み可能

 

以上で、草を生やす作業は完了です。

 

あとは、②〜⑨の繰り返して毎日草を生やしていきましょう!

あとがき

深夜まで、素晴らしい講義を行なってくださった、もりけんさんに感謝です。
わたしは、pushするだけで草が生やせると勘違いをしていました…
今後ももりけんさんや、塾生のみなさんからたくさんのことを学んでいきたいと思います!
※アウトプットに誤りがある場合は、教えていただけると幸いです。

Thanks:師匠「もりけんさん」(@terrace_tec)

もりけんさんのHPはこちら