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

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

ただいまの
回答率

88.57%

UnityのPJをGitLabへSource Treeを用いて連携する手順を教えてください。

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 605

hiroro__7

score 46

前提・実現したいこと

Unityのプロジェクトを、GitLab,Source Treeにて管理したい。
※UnityのProject名とGit LabのProject名を一致させ、Source Treeと連携させたい。

  • 最終的に実現させたい図(下図参照)
    イメージ説明

以下、達成したいTestプロジェクトのフォルダ内構図。かつPushがGitLabへちゃんとできることが必須です。

イメージ説明

  • 設定(下図参照)
    イメージ説明

発生している問題・エラーメッセージ

問題は、上図の構成(階層)にならない。
Source TreeのPush時のエラー内容。
イメージ説明

以下、エラー文抜粋

git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks push -v --tags --set-upstream origin master:master
Pushing to https://gitlab.com/pj-test77/test.git
To https://gitlab.com/pj-test77/test.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://gitlab.com/pj-test77/test.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

またこのエラー発生後、GitLabにはUnityのTestプロジェクトはPush一つもPushされていない。

また上記エラーが発生するまでの手順を以下に記載。

  1. GitLabでプロジェクトを作成し、CloneするためHTTPS URLをCopy
  2. Source TreeにてCloneし、保存先フォルダは任意のフォルダを指定。
  3. Unityにて、GitLabのProject名と同じProject名を作成し、保存先を上記2での保存先フォルダに指定すると、
    Project名のフォルダが作成されてしまうため、
    例えば、
  • Git LabではTest
  • UnityでもTest
    というProjectを作成すると、Testフォルダの中に、Testフォルダ(プロジェクト)が作成されてしまう。

皆さんは、Source TreeとGitLab(GitHubでも可)とUnityを連携させる際、
どのような手順で、プロジェクトを作成されているのでしょうか。
どうしてこのようなエラーが発生してしまうのか、ご存知の方がいらっしゃいましたら教えていただけますでしょうか。
よろしくお願いいたします。

試したこと

ググって、YouTubeでの操作を観たり、ブログ、書籍、ほか、参考にして、
様々なパターン(階層の変更・Project保存先の変更・GitLabのUsername、Passwordの変更、Access Tokenの利用など)
を試してみましたが、実現したい構成の図にはならないです。
つまり、いつも詰まるのは、UnityでのProjectと保存先フォルダ指定をどうすればいいのか、
GitLabのほうは恐らく間違えていないので、Source Treeか、Unityのどちらかと思っています。

補足情報(FW/ツールのバージョンなど)

  • Source Tree:ver 3.3.8
  • Unity 2019.2.21f1
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

皆さんは、Source TreeとGitLab(GitHubでも可)とUnityを連携させる際、
どのような手順で、プロジェクトを作成されているのでしょうか。

に対する回答です。

GitHubの場合ですが、下記のように行っています。

※環境:Windows 10 Professional 64bit / Visual Studio Code / GitHub (free)
Source Tree 3.3.8
git version 2.26.1.windows.1
(Source Tree インストール時に、Git及びターミナル(MINGW64/Bash)を一緒にインストールしています)
(試していませんが、ターミナルをインストールしていない場合は、コマンドプロンプトでも代用できるはず)

[1] GitHubで新規リポジトリを作成、Clone用のHTTPS URLをCopy。
このとき、ライセンスのテンプレート引用やREADME.md等は作らず、まっさらなリポジトリを作ります

[2] ローカルのpushしたいUnityプロジェクトフォルダで、右クリックし、「Git Bash Here」を開く。
(またはpushしたいプロジェクトフォルダをコマンドプロンプト等で開く)

<以下[3]~[5]までは、開いたターミナル(またはコマンドプロンプト)での作業になります>

[3]ローカル側でまだgitでリポジトリ設定していない場合、以下を入力(先頭の$マークは入力不要)
すでにローカルでgitリポジトリ構築済みの場合は、[3] を行うと今までの履歴がリセットされてしまうので、[3]は飛ばして[4] へジャンプ

$  git init
$  git add .
$  git commit -m "Initial commit"

[4] 以下を入力してローカルとリモートを紐づけます

$ git remote add origin https://github.com/ユーザ名/リポジトリ名.git(=[1]でCopyしたURL)

[5] 以下を入力して、ローカルのリポジトリをリモートにpushします。

$ git push -u origin master

ここまで何もエラーが発生しなかったら、GitHubにファイルがコピーされているはずです。

この後、SourceTreeのタブ右端の「+」ボタン押して出るメニューから、「Add」ボタンをクリックし、今処理したローカルフォルダを指定すれば、SourceTree上で管理できるようになるはずです。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/05/29 23:46

    すみません、遅くなりました。
    教えていただいた方法で、解決済みです!

    キャンセル

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

  • ただいまの回答率 88.57%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る