Source Tree 使い方 Basic編

Command Lineが苦手なGit初心者がGit Gui,"Source Tree"を使ってGitのバージョン管理を始めたものの、よく使い方を忘れるので自分用に使い方を一からまとめます。忘れた人用の備考ログなので、細かいことは説明しません。


Attention:
- Macを使用（Windowsでもあまり変わらない）
- いくつかのリソースは英語で書かれています。
- 記事は半々英語で書いてます。（GitHub, SourceTree が英語設定のため）
- なので日本語設定にしてある場合はあまり参考にならないかもしれません。（けどまあ言語違くても大抵押すとこ書くとこ一緒）
- 詳しい説明はリソースリンクを参考、またはグーグル先生に聞いてください。

- - - - - - - - 
読み始める前に必要な最低限の知識：　
- Github で新しいRepository を作れる
- Gitの Push, Pull, Commit ぐらいはわかる。
- リモートリポジトリ、ローカルリポジトリの違いがわかる
- 全部ど忘れした人は、[サルでもわかるGit入門](https://backlog.com/ja/git-tutorial/)へいますぐGO


-----
# Prepare 
### INSTALL SOURCE TREE　
- https://www.sourcetreeapp.com から Source Tree App をインストール

### INSTALL GIT 
- https://git-scm.com/book/en/v2/Getting-Started-Installing-Git　

### CREATE A GITHUB ACCOUNT
- https://github.com/

# 新しいローカルリポジトリを作る
    - 新しいプロジェクトなどを作るとき
    - けど大抵自分はグループ作業以外あとあとにGitで追加しちゃう


###1. click 'new' -> 'create a local repository'
![Screen Shot 2018-08-15 at 8.05.30 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/a1e5127e-3236-2b56-a971-1e7916d0a774.png) <br>
• Destination Path: 保存先。自分の場合大抵デスクトップに置いている. <br>
Example:　/User/'User名'/Desktop/'ディレクトリ名' <br>
• Name: SourceTree上で表示する名前。わかりやすいようにつける。

今回はExampleディレクトリをデスクトップおく。/User/NamiBillow/Desktop/Example
作り終えると,　<br>
![Screen Shot 2018-08-15 at 8.54.39 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/5a72f232-4bf6-9696-40b7-dabb50369d58.png)

てな感じでLocalに追加される。ちなみにデスクトップに作ったため　<br> 
![Screen Shot 2018-08-15 at 8.59.21 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/78b414c0-256c-9768-ee36-6e5c0cca5980.png)
デスクトップにExample ファイルが追加される。

###2. File, Script の追加。
-Example ディレクトリに .py でも　.txt でも何でもいいのでこのプロジェクトに入れたいファイルやコードを追加。
 
![Screen Shot 2018-08-15 at 10.00.12 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/70aff3ee-736f-2f96-050c-ab52e11050f0.png)
<br> この　sample.pyを　Example フォルダに入れる。
![Screen Shot 2018-08-15 at 10.01.08 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/6de6a8ec-a99c-839b-397c-e24fe83ae914.png)

で、入れ終えたら、SourceTree のブックマーク一覧画面で、先程追加したExampleリポジトリをダブルクリックする。あら不思議、以下の操作画面が出る。
![Screen Shot 2018-08-15 at 10.05.37 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/6235564d-65e2-7a77-1933-53e490cb49d0.png)

しかも新しく追加した「example.py」ファイルが表示されている。これのファイルをGitに管理してもらいたいので、はてなマークの横のチェックボックスにチェックを入れる。<br>
![Screen Shot 2018-08-15 at 10.12.26 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/bbddd296-264c-67ab-b6ae-d34376109353.png)

で、チェックし終わったら上のPUSHボタンを押す。すると　sample.py がStaged Files の仲間入りに。<br> ![Screen Shot 2018-08-15 at 10.18.37 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/cb460a0e-2caa-5588-9d83-6e4fc2c63014.png)
あとはCommit ボタンを押すだけ。で、commit を押すとコメントを書くのを求められるので、
![Screen Shot 2018-08-15 at 10.23.07 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/20d7a3fe-bdb3-3752-a602-a788bf141f39.png)

ここで詳しく、このファイルは何なのか、どこを修正したのかなど、後々見ても理解できるように書く。で、書き終えたら右下のCommitをクリック。

Commit 履歴を見るには 左のメニューにある、Historyをクリック。下のように履歴がコメントとともに見れる。　<br>
![Screen Shot 2018-08-15 at 10.27.10 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/041b7232-969d-e9f6-b2ad-8371ac5eb1d4.png)


このExample ディレクトリに新たにEx2.pyを入れて見る。<br>
![Screen Shot 2018-08-15 at 10.32.32 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/64314c2f-b210-02ca-6e2c-7d3cb2835914.png)
例えば、このEx2.pyは、Gitで管理しなくてもいいファイルだったら、右クリックで削除だったり、無視だったりその他諸々の設定ができる。
![Screen Shot 2018-08-15 at 10.32.48 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/16104c6d-4035-97a6-514f-c541243f667e.png)

#作ったローカルリポジトリをGitHub上の「リモートリポジトリ」に反映
**(SourceTree がGitHubのアカウントと連携している前提）**
branch とかmerge とか複雑なことは考えずにやる。（勉強し直します…）

### 1. Create a new repository on GitHub
とりあえず、新しいrepositoryを作る。**このとき、README は作らない**。![Screen Shot 2018-08-15 at 10.58.58 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/6468cb15-b44f-e837-bad6-85720bd80d37.png)
作り終えたら、この Clone or download　をクリックしてここのURLをコピー。<br>
![Screen Shot 2018-08-15 at 11.03.26 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/3b02694b-ab6f-6992-153d-78106f8b50a5.png)
そしたらSourceTree に戻って、リモートレポジトリに反映したいローカルレポの左にあるREMOTESを右クリックし、New Remoteをクリック。<br>

![Screen Shot 2018-08-15 at 11.08.59 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/472fc27b-d912-d10e-d4a8-2b70953b6ad3.png)

![Screen Shot 2018-08-15 at 11.11.41 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/c84ac533-1839-c878-6449-9d1030ab0beb.png) <br>
• Remote name: 大抵みんな'origin'ってつけるらしい。または'destination'とか。
• URL/path: さっきのGithubの新リポジトリからコピーしたURLを貼り付ける。
 *詳しくは、[About remote repositories](https://help.github.com/articles/about-remote-repositories/)にて
　- もしGitHubのアカウントと連結して入れば、URLを打ったあと、Host Type や　Username は勝手に埋めてくれる。はず。
• Host Type: GitHub
• Host Root URL: https://github.com
• Username: Guthubでの個人のユーザー名 
で打ち終えたら、okをクリック。するとRemotes に　追加したばっかの　remote repository　が 登録されたことを確認できる<br>![Screen Shot 2018-08-15 at 11.22.49 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/ac05f26f-27bf-8bf4-3c20-784116f7fa73.png)
あとはもうアップしたいlocal repository のファイルたちを、最初見たくpush, commit で上げていく。
push を押すと、
![Screen Shot 2018-08-15 at 11.27.29 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/62c4720b-e5f6-60b6-0a92-3a6bccbb8928.png)

が出てくるので、masterで今の所ok。で、push が終わったらcommit を押して、コメント書いたらとりあえず終わり。
詳しくは:
    • https://stackoverflow.com/questions/18137175/in-git-what-is-the-difference-between-origin-master-vs-origin-master
　　　　　origin と　origin/master の違いを説明せいてくれてます。
    • [What a branch is](https://git-scm.com/book/en/v1/Git-Branching-What-a-Branch-Is)

ここまで終えたら、GitHubの自分のアカウントに行って反映されて見るか確認！<br>
![Screen Shot 2018-08-15 at 11.41.05 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/abbffc19-b9b0-be41-c812-0b24c96f37c6.png)
<br>
![Screen Shot 2018-08-15 at 11.40.44 PM.png](https://qiita-image-store.s3.amazonaws.com/0/136608/a9be2bd0-6e1a-7cda-26a5-ffd7c12233cf.png)

反映されてますね。

とりあえず基本中の基本とやらを自分用にまとめて見ました。間違えだらけかもしれませんが、ご指摘よろしくお願いします。

# Resources (参考文献)
- [Getting started with SourceTree, Git and git flow](https://github.com/GSoft-SharePoint/Dynamite/wiki/Getting-started-with-SourceTree,-Git-and-git-flow)
- [Source Treeの使い方](https://qiita.com/takamichi_tsutsumi/items/6358a74a62d4fc15d1a5)
- [SourceTreeから始めるGit](https://qiita.com/icoxfog417/items/a650768dfc91b0f0df05)
- [こっそり始めるGit／GitHub超入門](http://www.atmarkit.co.jp/ait/articles/1701/24/news141.html) <br>
- [Git and GitHub Tutorial](https://youtu.be/xuB1Id2Wxak): Youtube