質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

2335閲覧

Githubを利用して複数人での開発を行う方法

kimkim

総合スコア142

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2018/06/24 09:12

前提・実現したいこと

タイトルにある通り一つの開発(Unityを使っての2Dゲーム作成)を
複数人(今は二人)で行いたいです。

試したこと

とりあえず、

GithubやGithub Desktopを利用してそれぞれのPCにクローンを作成

ブランチを作成しクローンにあるUnityプロジェクトを編集、コミット

プルリクエスをする

masterがマージを確定してブランチを削除

までの、大まかな操作方法は理解し行いました。

発生している問題

これから作業していく流れがわかりません。
まず今私の理解してるGithubを利用した開発の中での問題点を以下に書きます。

私が、Githubでリポジトリを作成し、私のPCにクローンを作成し、そこにUnityプロジェクトを作成しGithubにコミットした場合、今は私のPC内のUnityプロジェクトとgithub上のUnityプロジェクトは同じものです。

そこで、誰か違う人が同じリポジトリからその人のPCにクローンを作成し(この段階でその人のPC内のUnityプロジェクトとGithub上のUnityプロジェクトは同じもの)、何か編集を行い(例えばSceneにCubeを配置したとする)、コミットしプルリクエストしてマージされた場合、このタイミングでGithub上のUnityプロジェクトと私のPC内のUnityプロジェクトは違うものとなっています。

そして、また私が私のPCのクローン内のUnityプロジェクトを編集したい場合Scene上にCubeはないので、同じSceneを編集したい場合毎回毎回masterの方から新しくclone or downloadボタンを押して同じものを作成しなくてはならない?それとも毎回自分の作業するSceneの変更を確認しなければならない?
これがわかりません。

UnityをGithubを利用して複数人での開発をする流れを教えていただきたいです。

それか、簡単にGithub上のUnityプロジェクトと自分のPCのUnityプロジェクトを同じにする方法があれば知りたいです。

とてもわかりにくい質問だと思うのですが、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Githubにコミットした場合

その時点で理解が誤っています。

  1. git commit
  2. git push

ですよね?


cloneは最初の一度だけ行えばいいです。なぜなら語弊を恐れずに言えばこれは

  1. git repo用のdirectoryを作成する
  2. git remote add origin <url>する
  3. git pullする

をまとめたものだからです。


さあ、もうわかったはずです。あなたが求めているものはgit pullです。


ここでgit pullについてというかgitとサーバー(ex. GitHub, Bitbucket, etc...)の関わりについて整理する必要があるでしょう。

登場人物はつぎの4つ

  1. (手元の)のdirectory
  2. local
  3. remote
  4. git server

git server以外はあなたの手元にあります。そうです、remoteは自分の手元にあるんですね。

1以外は大量のcommitとbranchとtagの集合体です。

git serverは複数存在し得るのでremoteも複数存在しえます。git cloneしてきたときは一つのgit serverしか教えていないのでoriginという規定の名前のremoteが存在します。

git serverと手元のremoteは完全に同期していてほしいものですが、これはどうやって実現するかというと、git fetchによって実現されます。

git pull

  1. git fetch
  2. git rebaseでremoteのcommitをlocalのHEADがいるbranchにrebase

を行います。

投稿2018/06/24 11:30

yumetodo

総合スコア5850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kimkim

2018/06/24 12:36

回答ありがとうございます。 yumetodoさんのいう通り git pull と git fetch を利用すれば自分のやりたいことが実現できそうです。 わざわざこんな読みにくい質問に答えていただき ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問