【Git】基本操作を Xcode で新規プロジェクトを作りながら学ぼう−2−

タイトルセンスぅ (((^ω^)))

リモートリポジトリの作成〜リモートリポジトリに反映できる環境設定までを前回の記事に記載してるので、気になる方は合わせてお読み下さい。
今回は実際に、機能実装開始〜Gitで管理していく流れを Xcode(+コマンド操作)で書いてきます!

ただ、管理の方法ってプロジェクトごとにあるので、これが正しいとかはないです。
参考程度にしてくださーい。
もし玄人の方が見ているのであれば、うちはこんな方法だったよーとか教えてください (*´﹃`*)シリタイ

では!さっそくいきましょー!(2019年12月11日画像更新)

作業するブランチを作成

まずは、今いるブランチを見てみます。
Xcode の Branches を選択すると、master (current) があると思います。

この (current) が表示されている部分が、今いるブランチです。
その下にうっすらと ver1.0.0 がありますが、先に作ってしまったものです…w
この記事を見ながら作業している人は今から作るので、なくて正解です。

そして今は master にいますが、このブランチで機能実装やバグ修正等をすることは基本的にありません。
1人で作業する時も、ブランチは分けて作業することに馴れておいた方がいいです。
そのブランチの作り方ですが、2つあります。

1. master (current) を左クリック → “Branch from master”
2. メニューバー → Editor → Branch → “Branch from master”

好きな方で作ってください。ここではブランチ名は ver1.0.0 にします。
master → Develop → ver1.0.0
master → Release
というブランチで分けるのもいいと思いますが、今回は master → ver1.0.0 で作業していきます。

コマンド操作の場合は以下になります。

実装した機能をローカルリポジトリに教える

イメージしやすいよう “実装した機能” と書きましたが、ファイルに何かしらの変更があればいいです。
実際に実装するのはしんどいので、今はコメントを追加しておきます。w
※実装する機能ごとにブランチを作成する方がいいです。

コメントを追加すると、ViewController.swift ファイルの横に M が表示されると思います。
この部分にはGitの管理状態が表示され、他にも種類があります。

M 変更のあるファイル
A 新たに追加されたファイル
? Gitの管理対象から外れているファイル

この変更を Git で管理してもらうために、コミットを行います。
その方法も2つあります。

1. ⌘ + Option + C
2. メニューバー → Source Control → Commit

こちらもお好きなように。
この操作を行うと、以下の画像のようになります。

ピンク色の枠に変更したファイルがズラーっと並びます。
コミットしたくないファイルはチェックを外してください。

オレンジ色の枠には変更した内容をメッセージとして残します。
1行で何したか分かるようなメッセージを心がけてください!
今回は「コメントを追加」というメッセージにしますけどww

右下の Commit 1 File を押下すると、ローカルリポジトリに実装した機能を教えた状態になります。

コマンド操作の場合は以下になります。

リモートリポジトリにも教える

実装した機能をローカルリポジトリに教えたので
今度はリモートリポジトリにも教えてあげます!
その役割は “プッシュ” が担っていて、その方法も2つあります。

1. 上の画像の左下にある Push to remote にチェックを入れてコミットする
2. メニューバー → Source Control → Push

これでリモートリポジトリも実装した機能が分かる状態になりました。
コマンド操作の場合は以下になります。

機能を実装 → コミット を繰り返し、区切りの良いところでプッシュする感じになります。
機能を実装 → コミット → プッシュ でもいいですが、リモートリポジトリに教えたことをなかったことにしたい場合、強制プッシュという方法でリモートリポジトリの記憶を削除する必要があります (T⌓T)

これはチーム開発だと不整合が起こる場合があるので、リモートリポジトリは出来るだけ確定したものだけをプッシュした方がいいです。

それに、チーム開発ではプッシュしたらSNS経由で「〇〇さんがプッシュしましたよー」って通知設定してる場合があります。
そうなると、文言修正とか小さいコミットごとに通知されまくりますwww

まぁこれもチームで決まってると思うので、それに従ってください!
長くなってきたので、一旦ここで終わりますぅ

さいごに

ちょっと長くなってしまいましたが、このバージョンでの開発〜Git管理までを記載しました。
次で最後(?)かと思いますが、開発完了〜申請後までを記載していこうと思います!

違うよ!とかこういう方法あるよ!ってのがあれば教えてください。
では( ¯·ω·¯ )

コメント