Blog

SourceTreeの使い方研修

前回の研修に引き続き

さて、前回は『Git/GitHubの使い方』に関する研修でした。
今回は、さらにもうひとつのツール『SourceTree』に関しての研修です。

前回で学んだことが、今回に影響してくるため
やはり緊張してしまう私・・・。

こんな調子で大丈夫なのか、心配になってきますね(笑)

SourceTree(ソースツリー)

GitHubで作成したリポジトリに対応させることで、ローカルとリモートの共有などを補助してくれる。

通常であれば、Gitのコマンドを打たなければならない。(CUI … Character User Interface)
しかし、SourceTreeを使えば、視覚的にコマンドを実行することができる。(GUI … Graphical User Interface)

これは便利だな!と話を聞いているときにも感じました。
この記事を書いているときも思ってることなんですけどね(笑)

機能

これからガンガン使っていくことになるとのことでした。

正しく機能を扱っていけるように、ひとつずつ理解していきたいと思います。

リモートとの紐づけ

紐づける際は、GitHubからリポジトリのアドレスを用います。

sourcetree_how_to_use_05.png

ここで、2種類の選択肢が・・・

Clone(クローン)

リモートをローカルに紐づけした状態でコピーを行う。
 ※必ず空のディレクトリを指定する。

Add(アド)

リモートとローカル紐づける。
 ※ 更新は行われない。

ふむふむ。
これは違いに注意して使い分けることが必要ですね。

POINT

『クローンはコピーする』『アドはコピーしない』と覚えておくことにします。

コミットする

これから何万回とする作業です。
しっかりと理解しなければ!!

『作業ツリーのファイル』に表示されている変更を、 『indexにステージする』 ことでローカルでコミットできる。
この時点では、まだリモートに変化はない

sourcetree_how_to_use_01.png

コミットにコメントを残すこともできるので、変更がわかりやすいコメントを残しておく。

sourcetree_how_to_use_02.png

誰が見ても変更点が分かるようにコメントは書かないといけない。

大丈夫か!?私の文章力!!

同期

ローカルで変更した内容、もしくはリモートで変更されている内容を同期することで、反映させることができる

sourcetree_how_to_use_03.png

うわ・・・、今回は3つだ・・・

覚えることが多くて頭が痛くなりそうですが、今回の内容はあと少し!!
もう少しだけ気合を入れなおして、頑張ります!

プッシュ

ローカルのコミットをリモートに反映する。
※ただし、リモートが別のプッシュを受けている場合は、リモートのコミットをローカルに反映した後にマージを行ってからプッシュをする必要がある。

フェッチ

ローカルとリモートに差分がある場合、リモートのコミットとの差分を参照することができる。
※ ローカルの更新は行われないので注意。

プル

ローカルにリモートの差分を反映させる。
※ 自身がローカルで行ったコミットはそのまま残る。
このとき、リモートのコミットと衝突してしまうと、Conflict(コンフリクト)が発生する
コンフリクトは、手動で解消することが必要で、 必ず確認を取り、指示を仰ぐこと。

慣れたプログラマでもコンフリクトは避けたいらしい。
そんなにもヤバイことなのか・・・起こったら真っ先に先輩に報告しようそうしよう

ブランチ/マージ

システムを開発する上で、まっすぐ一本で開発・・・ということはないとのこと。
ブランチを切って、開発するのだとか。

ブランチを切る・・・2本に分かれるのだろうか?

sourcetree_how_to_use_04.png

ブランチ

現在の位置を表す。
新たにブランチを作成することで、枝分かれを発生させることができる。
 ※ origin/masterはリモートを表す。

マージ

枝分かれしたブランチを合流させる。
※ 各ブランチでマージを行う必要があるので注意が必要。
   AでBとマージしたならば、BでAとマージして、初めてAとBはマージする。

POINT

『ブランチを作成する』=『ブランチを切る』ということだったんですね。
完全に切断するということかと・・・。
まだまだ専門用語を覚えていかないといけませんね。


以上です。

細かいところまですべて理解できているという訳ではありませんが、
これで少し触るだけなら問題なく操作できる段階くらいには手が届いたかなと思います。

使っていくうちに知っていくこともあると思いますが、
わからないことは調べて、先輩に質問して成長していこうと思います。

最後まで読んでいただき、ありがとうございました。

MeisterGuild(マイスター・ギルド)広報

最先端技術のMEISTERを目指し、お互い切磋琢磨するGUILD、になりたい株式会社マイスター・ギルドです。Webシステム/サービス開発、スマホアプリ開発、AR/VR/MR開発など、さまざまな情報を発信します。

Related Entry