#概要
みなさん、こんにちは。
今回は、エックスコードプロジェクトをGithubで管理する具体的な方法②ということで、本記事は[初学者の方は必見!エックスコードプロジェクトをGithubで管理する具体的な方法①]の続きとなっております。
※今回、お伝えする内容は、エックスコード上や省略コマンドで簡単にできたりもしますが、あくまでも、わかりやすさを追求し、今回は何がなんでもGitHubでの管理をしたい人のための記事となっております。あらかじめ、ご了承ください。
この記事をみる前に、Gitをはじめからていねいにをみることをお勧めします!
https://github.com/takanabe/introduction-to-git
###環境
・Xcode - 11.3.1
・git - 2.26.0
・CLI - ターミナル
#ブランチをきって作業する
少し、前回の復習をしましょう。みなさんは、様々なコマンドを使ってエックスコードファイルをGithub上に公開することができました。
ここまでは、大丈夫ですかね?
では、実際にブランチをきって作業していきましょう
このコマンドを入力してください
○○○○○@xxxxxxxxxxMBP ~ % git checkout -b hotfix main
このコマンドを実行することで、mainから分岐したhotfixブランチを作成することができます。
確認してきましょう!
○○○○○@xxxxxxxxxxMBP ~ % git branch
* hotfix
main
ちゃんと、hotfixブランチができていますね。
#エックスコードで作業をしよう
さて、ブランチを作成することができたので、実際にエックスコードで作業していきます。
ここでの作業は、何でもいいのでお好きな作業を行ってください。
ちなみに私は、ViewContorollerに変数を追加しました。
#コミットをしよう!
エックスコードプロジェクトで変更があったので、コミットをしていきます。
コマンドはわかりますよね?パート1の復習ですよ
まずは、コミットするためにファイルをセットします
○○○○○@xxxxxxxxxxMBP ~ % git add .
○○○○○@xxxxxxxxxxMBP ~ % git commit -m "犬と猫を追加"
私の作業では、犬と猫を追加したのでコミット名は上記のようにしときます。
みなさんはお好きな名前をつけてくださいね。
[hotfix 3b0b63c] 犬と猫を追加
1 file changed, 2 insertions(+), 2 deletions(-)
このような感じで出力されたらコミット成功です!
確認していきましょう。
○○○○○@xxxxxxxxxxMBP ~ % git graph
* 3b0b63c (HEAD -> hotfix) 2020-11-06 Yamada 犬と猫を追加
* 9e865bb (origin/main, main) 2020-11-05 Yamada first commit
いい感じですね。
#リモートリポジトリに反映させよう!
コミットができたら、マージする必要があります。
マージとは、分岐していたブランチを一つにするコマンドです。
しかし、その前に、hotfixブランチは、リモートリポジトリを作成されていませんよね。
リモートリポジトリはorigin/mainのことです。つまり、origin/hotfixを必要があります。
では、作成していきましょう!
○○○○○@xxxxxxxxxxMBP ~ % git push origin hotfix:hotfix
このコマンドを入力すると、英語がたくさん出てきますが、
* [new branch] hotfix -> hotfix
こんな感じの表示がされたらOKです!
では、確認していきましょう。
○○○○○@xxxxxxxxxxMBP ~ % git graph
* 3b0b63c (HEAD -> hotfix, origin/hotfix) 2020-11-06 Yamada 犬と猫を追加
* 9e865bb (origin/main, main) 2020-11-05 Yamada first commit
ちゃんと、 origin/hotfixが作成されてますね。
#マージをしよう!
ようやく、マージするところまで辿り着きました。少し疲れましたね。
後少しです。頑張りましょう。
まず、mainブランチに戻ります。
○○○○○@xxxxxxxxxxMBP ~ % git checkout main
確認をします。
○○○○○@xxxxxxxxxxMBP ~ % git branch
hotfix
* main
しっかり切り替えができていますね。
では、マージしていきます!
○○○○○@xxxxxxxxxxMBP ~ % git merge --no-ff hotfix
mergeにくっついている--no-ff コマンドはfast-forwardをさせないようにするためのコマンドです。
少しわかりにくいので、確認していきます。
○○○○○@xxxxxxxxxxMBP ~ % git graph
* 8beb13b (HEAD -> main) 2020-11-06 Yamada Merge branch 'hotfix' into main
|\
| * 3b0b63c (origin/hotfix, hotfix) 2020-11-06 Yamada 犬と猫を追加
|/
* 9e865bb (origin/main) 2020-11-05 Yamada first commit
--no-ffコマンドをしようすると、margeした履歴も枝割れして残ります。
しかし、普通のmargeだと,下記のような枝別れしないグラフになると思います。
○○○○○@xxxxxxxxxxMBP ~ % git graph
* 3b0b63c (main/origin/hotfix, hotfix) 2020-11-06 Yamada 犬と猫を追加
|
|
|
* 9e865bb (origin/main) 2020-11-05 Yamada first commit
これが、fast-forwardです。
枝分かれしない方がシンプルですが、margeした履歴が残らないのが欠点です。
どちらがいいかは会社の方針や個人の好みで決めます。
#プッシュをしよう!
さぁ、いよいよ最後です。
pushをしていきましょう!!
○○○○○@xxxxxxxxxxMBP ~ % git push
たくさん英語が出てきたらOKです。
Github上で確認してみましょう!
しっかりコミットの内容が反映できていますね。
#最後に
いかがだったでしょうか。今回は2記事にわたって、エックスコードプロジェクトをGithubで管理する方法をお伝えしてきましたが、みなさんはGithubに公開することができましたでしょうか?
もちろん、これが完璧ではありません。もっと簡単な方法や短縮コマンドも存在します。
しかし、今回はエックスコードプロジェクトをGithub上に公開し、管理するというところを目標にし。なるべく流れで理解しやすくすることを心がけました。
この記事を通して、多くの初学者の方がGithub上でコードを見ることができる喜びを味わっていただければ幸いです。
それでは!