Submit Search
Upload
git&GitHub&SourceTree入門
•
Download as PPTX, PDF
•
0 likes
•
299 views
Gamu2059
Follow
SourceTreeやgitの初心者向けの資料です。題材としてUnityを使用しています。
Read less
Read more
Engineering
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 39
Download now
Recommended
Git勉強会 #01
Git勉強会 #01
risaiku リサイク
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
DoshishaUniv ProntiatVR
20130608 git-0
20130608 git-0
Kasu Unko
Next-L Enju 開発ワークショップ #02
Next-L Enju 開発ワークショップ #02
Kosuke Tanabe
Git&GitHub入門
Git&GitHub入門
hideaki honda
バージョン管理Git
バージョン管理Git
松本 雄貴
Git紹介~入門編~
Git紹介~入門編~
ngi group.
Gitコマンド勉強会 第0回 はじめに
Gitコマンド勉強会 第0回 はじめに
Kazuki Sakai
Recommended
Git勉強会 #01
Git勉強会 #01
risaiku リサイク
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
DoshishaUniv ProntiatVR
20130608 git-0
20130608 git-0
Kasu Unko
Next-L Enju 開発ワークショップ #02
Next-L Enju 開発ワークショップ #02
Kosuke Tanabe
Git&GitHub入門
Git&GitHub入門
hideaki honda
バージョン管理Git
バージョン管理Git
松本 雄貴
Git紹介~入門編~
Git紹介~入門編~
ngi group.
Gitコマンド勉強会 第0回 はじめに
Gitコマンド勉強会 第0回 はじめに
Kazuki Sakai
Git 入門ちょい手前
Git 入門ちょい手前
Yuichi Goto
【社内輪読会】Github実践入門2章
【社内輪読会】Github実践入門2章
Akira Torii
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011
Hiro Yoshioka
猫にはわからないGit講座
猫にはわからないGit講座
Yusei Yamanaka
Aedlabo git seminer
Aedlabo git seminer
としゆき 高橋
[ノマワクラボ 第2回Web勉強会] Git入門
[ノマワクラボ 第2回Web勉強会] Git入門
Toru Tamura
Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門
kazuki kuriyama
Gitのススメ
Gitのススメ
Yuki Nagino
Wordbench fukuoka
Wordbench fukuoka
Junji Manno
Git -分散バージョン管理システム-
Git -分散バージョン管理システム-
Koji Shinba
Git社内勉強会資料
Git社内勉強会資料
Kenji Takei
Gitに触れよう
Gitに触れよう
Trash Briefing ,Ltd
Git 初心者のための GitHub Pages
Git 初心者のための GitHub Pages
Takenori Nakagawa
git入門(講義っぽく)
git入門(講義っぽく)
kataware
WordPressサイトのバージョン管理
WordPressサイトのバージョン管理
lolipopjp
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab
満徳 関
Svn+Git
Svn+Git
ryota ichie
バージョン管理システムチュートリアル
バージョン管理システムチュートリアル
Ryo Igarashi
ゆるふわっGit入門
ゆるふわっGit入門
Keisuke Oohata
Tortoise hgのすすめ
Tortoise hgのすすめ
suzzsegv
More Related Content
Similar to git&GitHub&SourceTree入門
Git 入門ちょい手前
Git 入門ちょい手前
Yuichi Goto
【社内輪読会】Github実践入門2章
【社内輪読会】Github実践入門2章
Akira Torii
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011
Hiro Yoshioka
猫にはわからないGit講座
猫にはわからないGit講座
Yusei Yamanaka
Aedlabo git seminer
Aedlabo git seminer
としゆき 高橋
[ノマワクラボ 第2回Web勉強会] Git入門
[ノマワクラボ 第2回Web勉強会] Git入門
Toru Tamura
Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門
kazuki kuriyama
Gitのススメ
Gitのススメ
Yuki Nagino
Wordbench fukuoka
Wordbench fukuoka
Junji Manno
Git -分散バージョン管理システム-
Git -分散バージョン管理システム-
Koji Shinba
Git社内勉強会資料
Git社内勉強会資料
Kenji Takei
Gitに触れよう
Gitに触れよう
Trash Briefing ,Ltd
Git 初心者のための GitHub Pages
Git 初心者のための GitHub Pages
Takenori Nakagawa
git入門(講義っぽく)
git入門(講義っぽく)
kataware
WordPressサイトのバージョン管理
WordPressサイトのバージョン管理
lolipopjp
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab
満徳 関
Svn+Git
Svn+Git
ryota ichie
バージョン管理システムチュートリアル
バージョン管理システムチュートリアル
Ryo Igarashi
ゆるふわっGit入門
ゆるふわっGit入門
Keisuke Oohata
Tortoise hgのすすめ
Tortoise hgのすすめ
suzzsegv
Similar to git&GitHub&SourceTree入門
(20)
Git 入門ちょい手前
Git 入門ちょい手前
【社内輪読会】Github実践入門2章
【社内輪読会】Github実践入門2章
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011
猫にはわからないGit講座
猫にはわからないGit講座
Aedlabo git seminer
Aedlabo git seminer
[ノマワクラボ 第2回Web勉強会] Git入門
[ノマワクラボ 第2回Web勉強会] Git入門
Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門
Gitのススメ
Gitのススメ
Wordbench fukuoka
Wordbench fukuoka
Git -分散バージョン管理システム-
Git -分散バージョン管理システム-
Git社内勉強会資料
Git社内勉強会資料
Gitに触れよう
Gitに触れよう
Git 初心者のための GitHub Pages
Git 初心者のための GitHub Pages
git入門(講義っぽく)
git入門(講義っぽく)
WordPressサイトのバージョン管理
WordPressサイトのバージョン管理
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab
Svn+Git
Svn+Git
バージョン管理システムチュートリアル
バージョン管理システムチュートリアル
ゆるふわっGit入門
ゆるふわっGit入門
Tortoise hgのすすめ
Tortoise hgのすすめ
git&GitHub&SourceTree入門
1.
git GitHub SourceTree 入門
2.
● 各概要 ● 各種セットアップ ●
リポジトリのセットアップ 目次
3.
対象読者 ● git初心者 ● GitHub初心者 ●
SourceTree初心者 題材としてUnityを使用しています。
4.
各概要
5.
VCS VCS(Version Control System)とは、ファイルの変更履歴を管理するた めのシステムやツールです。 主にソフトウェア開発に用いられ、ソースコードの管理で重宝します。 Git、Subversion、Mercurial、Perforceなど、VCSにはそこそこ種類が あります。 バージョン管理システムとは?管理方式の違いと履歴を管理する利点|発注ラウンジ https://hnavi.co.jp/knowledge/blog/version_control_system/
6.
gitとGitHub gitとは、分散管理方式を採用するVCS の一つで、バージョンを管理してくれ るシステムの本体です。 GitHubとは、gitを利用したバージョン 管理ウェブサービスです。リモートリ ポジトリの運用、バグやタスクの管理、 リリースバージョン管理などソフトウ ェア開発の補助機能が統合されていま す。
7.
SourceTree SourceTreeとは、ローカルリポジトリ をGUIで操作できるソフトウェアです。 業務で頻繁に使用する一通りの操作は行 えますが、全てのgitコマンドに対応し ている訳ではないようです。 gitを使いこなしたい人はコマンドライ ンで操作しよう!
8.
git、GitHub、SourceTreeの関係性はこのようになります。 自分のPC (クライアント、ローカルリポジトリ) GitHubのWebページ (サーバ、リモートリポジトリ) gitをより使いやすく データのやり取り
9.
各種セットアップ
10.
GitHubアカウントの作成 まずはGitHubのページにアクセスしてアカウントを作成しましょう。既にGitHubアカウントを持っている 人はこの項目は飛ばしてしまって下さい。 GitHub https://github.co.jp/ アクセスしたらアカウントを作成します。下記のページが分かりやすいので、書かれている通りにアカウン トを作成していきます。 【2019年1月現在】GitHubアカウント作成方法|Qiita https://qiita.com/okumurakengo/items/848f7177765cf25fcde0
11.
SourceTreeのインストール 次にSourceTreeのセットアップを行います。既にSourceTreeをインストールしている人はこの項目は飛 ばしてしまって下さい。 まずはSourceTreeをダウンロードします。 SourceTree https://www.sourcetreeapp.com/ 次にSourceTreeをインストールします。下記のページが分かりやすいので、書かれている通りにインスト ールしていきます。 SourceTree(3.0.15)をインストールしてみた|Qiita https://qiita.com/tetsu831018/items/bb6ecf15ca5f67e5879a
12.
SSHキー登録 最後にSSHキー登録を行います。既にGitHubにSSHキーを登録している人はこの項目は飛ばしてしまって 下さい。 そもそもなぜSSHキーを使うのかというと、ざっくり言うと情報漏洩を防ぐためです。 (個人的にはgit push時に認証が面倒だから) GitHubのリモートリポジトリへのアクセス方式をざっくり知りたい人はこちら。 GitHubのremote URLにはどのプロトコルを使えばよいのか?|Qiita https://qiita.com/chroju/items/67da13c672efcd2bc787 SSHキー登録手順は、下記のページを参考にしましょう。Macでもほぼ同じように出来るはずです。 SourceTreeを使ってGitHubにSSH接続する
(Windows)|Qiita https://qiita.com/wappaboy/items/a15fd758450036fc9760 SourceTree 設定からSSH設定&リポジトリをcloneするまでの流れ|Qiita https://qiita.com/github129/items/b23a24aaa359a0f8eba7
13.
リポジトリのセットアップ
14.
リポジトリとは? リポジトリとは、システムの開発プロジェクトに関連するデータの一元的 な貯蔵庫のことです。 gitは分散管理方式のため、分散しているローカルリポジトリとローカルリ ポジトリからアクセスされるリモートリポジトリの2種類があります。 履歴を管理するリポジトリ|サルでもわかるGit入門 https://backlog.com/ja/git-tutorial/intro/02/
15.
リポジトリを作ろう どうやらリポジトリ作成は当たり前すぎて 良い感じのページがすぐに見つからなかっ たので、作り方を説明します。 GitHubにログインすると、トップページ に右の画像のような画面が表示されます。 「Start a project」ボタンを押すとリモー トリポジトリの作成画面に遷移します。
16.
リポジトリを作ろう 1. リモートリポジトリの名前を決めます。 アカウントの中で重複しないように名前 を付けましょう。 2. リポジトリの説明です。 3.
公開範囲を決めます。チーム開発で使用 する場合は原則Privateを選択して下さ い。 4. 説明ファイルを作成するかを選択します。 チェック無しのままにします。 5. .gitignoreファイルを作成するかを選択 します。Unityを使用する場合はUnity を選択して下さい。 6. ライセンスを選択します。公開範囲が Publicの場合はどれにするか考えるべき ですが、今回はNoneのままにします。 7. リモートリポジトリを作成します。 ③ ② ④ ① ⑦ ⑥⑤
17.
リポジトリのClone リポジトリが作成できたら、「Clone or download」ボタンをクリックします。 今回はSSHを使うので「Clone with
SSH」 という項目になっていることを確認します。 リポジトリのURLをコピーするために右側の アイコンボタンをクリックします。 下記のページの「ローカル環境にクローン」 という項目を参考にしてCloneを行います。 このページではHttpsを使用してCloneを説明 していますが、今回はSSHを使うので GitHubのページの説明部分は無視して下さい。 誰でも簡単!GitHubで管理するためのSourcetreeの 最低限の使い方|HPcode https://haniwaman.com/sourcetree/#i
18.
リポジトリのClone Cloneに成功すると、指定したパスにこのよ うなファイルが生成されます。 .gitというものがローカルリポジトリの本体 です。ローカルリポジトリは、この.gitがあ る階層以下の変更を監視、管理します。 .gitignoreというものはリポジトリの管理対 象外とするパスの一覧が記述されたファイル です。今回はUnity用に自動生成されていま すが、手動で編集することもあります。
19.
既にUnityプロジェクトがある場合 リモートリポジトリを作成、ローカルにClone、ローカルリポジトリの位置にUnityプロジェクトを作成という流れで準備を 進めれば特に問題はありませんが、ローカルにCloneする前にバージョン管理したいUnityプロジェクトが存在している場合 は少し面倒になります。 面倒な理由は、Cloneは空でないフォルダを対象とするとエラーが発生すること、リモートリポジトリ作成時にオプション で作成した.gitignoreファイルはUnityプロジェクトのルートにリポジトリを作成することを前提に生成されていること、の 2つがあるからです。 そのため、Unityプロジェクトがある場所とは異なる場所にローカルリポジトリをCloneし、Cloneした場所にUnityプロジ ェクトのAssetsフォルダ等を全て移動させるという対応を行います。
20.
Unityプロジェクトの設定を確認 最後に、Unityプロジェクトがバージョン管 理に適した設定になっているかを確認します。 Project Settingsを開いて、Editorの項目を 開きます。右の図のようになっていればOKで す。なっていなければ、このようにモードを 変更して下さい。 設定の詳しい説明はこちら。 Editor Settings|Unity
マニュアル https://docs.unity3d.com/ja/2018.1/Manual/cl ass-EditorManager.html
21.
SourceTreeを使った gitの操作
22.
分かりやすいページのリンク集 この資料より遥かに分かりやすいページは沢山ありますので、gitをもっと詳しく知りたい人はリンクを辿 ってみるといいと思います。 サルでもわかるGit入門 https://backlog.com/ja/git-tutorial/ 誰でも簡単!GitHubで管理するためのSourcetreeの最低限の使い方|HPcode https://haniwaman.com/sourcetree/
23.
基本的なgit操作のワークフロー ざっくりとワークフローを分けると、 ● 作業したものを他の人と共有するブランチに統合する ● 共有ブランチの最新版を自分の元へもってくる
24.
作業したものを他の人と共有するブランチに統合する スクリプトの作成、シーンの編集、アセットのインポート等、ローカルリポジトリが管理する階層以下で 行った作業は元の状態からの差分として管理されます。図では、作業によって生じた差分を変更と記して います。 例外的に.gitignoreファイルに記述されているパスで生じた差分はローカルリポジトリでは管理されませ ん。
25.
作業したものを他の人と共有するブランチに統合する gitでバージョン管理する第一歩として、Stagingというものがあります。Stagingは次にあるCommitで 保存を行う時に、どの変更をCommitの対象とするかを選択するためにあります。 Gitの基本 ワークツリーとインデックス|サルでもわかるGit入門 https://backlog.com/ja/git-tutorial/intro/04/ SourceTreeでは、下のウィンドウにステージングしていない変更、上のウィンドウにステージングした 変更が表示されます。一度ステージングした変更もインデックスから除く操作を行えばCommitの対象か ら外すことが出来ます。
26.
作業したものを他の人と共有するブランチに統合する 変更を保存するためCommitを行います。Commitすることで初めてgitでバージョンが管理されます。 Gitの基本 ワークツリーとインデックス|サルでもわかるGit入門 https://backlog.com/ja/git-tutorial/intro/04/ 注意したいことは、Commitすると変更をどのブランチで保存するか確定してしまうということです。ゲ ームで例えると、セーブで上書きしたくないセーブデータにも上書き出来てしまう可能性があるような感 じです。Commitする時は、自分が今どのブランチ(ワークツリー)で操作しようとしているのかをよく確 認しましょう。 Commitを行うためにはコミットメッセージを記述します。画面下部のテキストエリアにどんなことをし たかを記述してコミットボタンをクリックすればCommitが出来ます。 テキストエリアの下にあるチェックボックスをオンにすると、次の操作であるPushを同時に行うことが出 来ます。
27.
作業したものを他の人と共有するブランチに統合する ローカルリポジトリのブランチの状態をリモートリポジトリにも反映させるためにPushを行います。 Gitの基本 ワークツリーとインデックス|サルでもわかるGit入門 https://backlog.com/ja/git-tutorial/intro/04/ SourceTreeではCommitと同時にPushも出来るようになっているので、それでPushを行った場合はこの 部分は飛ばすことが出来ます。 Pushを行うためには、画面上部のプッシュボタンをクリックします。どのブランチをPushするかをチェ ックボックスで選択することが出来ます。ワークツリーになっているブランチはデフォルトでチェックが ついているはずです。 プッシュボタンを押せばPushされます。この時、Https通信を採用しているとGitHubアカウントのログイ ンを、SSH通信を採用していると秘密鍵のパスフレーズを求められます。毎回要求されるのが嫌な人は、 自動入力などの工夫をしてみましょう。
28.
作業したものを他の人と共有するブランチに統合する 変更があるブランチは、最終的に特定のブランチに統合します。Gitで直接統合する場合はMergeを、 GitHub上で統合する場合はPull Requestを行います。 Gitの基本 ワークツリーとインデックス|サルでもわかるGit入門 https://backlog.com/ja/git-tutorial/stepup/04/ 実際はブランチの統合はMergeとRebaseの2種類があります。しかし、チームで制作する場合にリモート リポジトリにPushしたものに対してRebaseするのは危険な行為であるため、ミスを減らすという意味合 いも込めてMergeだけを解説します。 どうしてもRebaseを使用したい場合は、一度もPushしていない個人のブランチでのみ使用する程度に留 めると良いと思います。
29.
作業したものを他の人と共有するブランチに統合する ローカルリポジトリでMergeを行うためには、画面上部のマージボタンをクリックします。すると、現在 のブランチにどのコミットを統合するか、という選択画面が表示されます。そのため、作業を行ったブラ ンチではなく、作業を統合したいブランチに切り替えてからマージボタンをクリックする必要があります。 作業を行ったブランチの最新のコミットを選択すれば、現在のブランチにそのコミットまでの内容が統合 されます。 GitHub上でMergeを行うためには、Pull Requestを行います。GitHubのPull Requestタブを選択し、 「New
pull request」ボタンをクリックします。baseに統合先のブランチを、compareに作業したブラ ンチを選択して「Create pull request」ボタンをクリックし、メッセージ等を記入して「Create pull request」ボタンをクリックします。コンフリクトが発生していなければ「Merge pull Request」ボタン をクリックしてMergeすることが出来ます。
30.
共有ブランチの最新版を自分の元へもってくる 最新版のブランチをいきなりローカルリポジトリに持ってくる前に、リモートリポジトリに変更があるか どうかを確認します。これをFetchといいます。Fetchを飛ばしてPullをしても問題は特にありません。 リモートリポジトリ Fetch|サルでもわかるGit入門 https://backlog.com/ja/git-tutorial/stepup/15/ Fetchを行うためには、画面上部のフェッチボタンをクリックします。デフォルトでは「すべてのからフ ェッチ」にチェックが付いていますが、特定のブランチのみFetchしたい場合はチェックを外します。 Fetchを行った後にプルボタンに数値が表示されたりブランチの右側に下矢印と数値が表示されたりした 場合は、ローカルリポジトリにはない変更がリモートリポジトリに存在しています。
31.
共有ブランチの最新版を自分の元へもってくる リモートリポジトリから特定のブランチの最新版をローカルリポジトリに持ってくるにはPullを行います。 これは主に他の人の変更が適用された共有ブランチを最新版に保つために行います。 リモートリポジトリ Pull|サルでもわかるGit入門 https://backlog.com/ja/git-tutorial/stepup/14/ Pullを行うためには、画面上部のフェッチボタンをクリックします。ダイアログが開いたら、どのブラン チをPullしてくるかを選択します。これは、現在のワークツリーに対して選択したブランチの最新版を Mergeするという操作になるので、ワークツリーが適切かどうかをよく確認しましょう。
32.
共有ブランチの最新版を自分の元へもってくる リモートリポジトリから最新の共有ブランチを持ってきたら、そこから新しい作業ブランチを作って作業 していきます。 チュートリアル1 ブランチを使ってみよう! 1.
ブランチを作成する|サルでもわかるGit入門 https://backlog.com/ja/git-tutorial/stepup/07/ ブランチを新規作成するためには、画面上部のブランチボタンをクリックします。現在のブランチをベー スとして新規ブランチを作るためのダイアログが開きます。ブランチ名を付けて「ブランチを作成」ボタ ンをクリックすれば新規にブランチを作成できます。
33.
共有ブランチの最新版を自分の元へもってくる 新しいブランチを作ったら、そこから作業を続けていきます。 基本的なgitを使ったワークフローは以上です。
34.
Unityでチーム制作する時に 注意すること
35.
注意した方がいいことは多い ゲーム制作に限った話ではありませんが、gitやGitHubを使う場合には注意すべきこともあります。 主に、以下の3つに気を付けた方がいいと思うため、紹介します。 ● ゲームは基本的にPrivateリポジトリで管理する ● 第三者のアセットはリポジトリに追加しない ●
APIトークンやパスワードは公開しない
36.
ゲームは基本的にPrivateリポジトリで管理する ゲームとは、コンテンツそのものに価値があります。プログラム、アセット、パラメータ群が公開されて いては無料でコンテンツを遊んでほしいと言っていることと同じです。たとえ無料で遊んでほしくても、 プログラムが筒抜けでは特殊な攻略を簡単に作られたりバグを突かれたりしかねないので、良いことでは ないです。 ゲームプロジェクトを公開することを意図していない限り、基本的にPrivateリポジトリで管理していく方 がいいです。 IT業界ではGitHubアカウントを指定することで自身の実績を示すことがありますが、Privateだからとい って評価を下げるようなIT企業は無いはずなので、そこを心配することはないと思います。もし実績を示 したいのであれば、ポートフォリオを作成したり外部サイトで公開したりするといいです。
37.
第三者のアセットはリポジトリに追加しない 有料のアセットを購入してプロジェクト内で使用している場合はPublicなリポジトリに追加しないように しましょう。理由は単純で、有料アセットを世界中に無料頒布するような行為だからです。 また、無料、有料問わずアセットのライセンスにはよく注意しましょう。一人ひとりがライセンスを購入 しなければならないようなアセットであれば、一人のライセンスでチームメンバ全員にアセットの使用を 許してしまう可能性があり危険です。 というわけで、第三者のアセットは基本的にリポジトリに追加しないようにしましょう。追加するとして も、絶対にPublicリポジトリで追加することだけは止めましょう。
38.
APIトークンやパスワードは公開しない 外部サービスのAPIにアクセスしたり、サーバへアクセスしたりする時にトークンやパスワードといった ものが必要になる場合があります。しかし、これらをリポジトリに追加するのはやめましょう。公開され ないことを前提にしている情報を公開すれば、第三者に乗っ取られても仕方がないです。 トークンやパスワードは使用するプログラムとは別のテキストファイル等に隔離しておき、.gitignoreに 追加しておくことでリポジトリに追加しないようにしておきましょう。
39.
注意することのまとめ 基本的にPrivateリポジトリ で管理しよう!
Download now