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

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

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

SourceTreeは、Gitのクライアントツール。視覚的に操作するGUI形式でGitの操作が容易になります。MacやWindowsなどのOSに依存しておらず、PC環境に合わせてインストールすることが可能です。

GitHub

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

Unity

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

Q&A

1回答

3375閲覧

sourcetree競合解決できない

rito_program

総合スコア2

SourceTree

SourceTreeは、Gitのクライアントツール。視覚的に操作するGUI形式でGitの操作が容易になります。MacやWindowsなどのOSに依存しておらず、PC環境に合わせてインストールすることが可能です。

GitHub

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

Unity

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

0グッド

0クリップ

投稿2022/02/14 02:57

現在三人でUnityを使いプロジェクトを作っています。その際にSourcetreeを使用しているのですが、仲間が挙げたデータをプルしたところ、突然一つのシーンのデータが消えてしまいました(シーン名は存在するが、その中のオブジェクト等データが全滅)。いろいろ調べて「競合を解決」というところから修正できるというのが分かったのですが、「競合を解決」を選択しても「自分の変更内容で解決」「相手の変更内容で解決」のの文字が半透明になっていて、選択できないようになっています。これはもう直すのは不可能ということなのでしょうか。仲間のプロジェクト側ではちゃんとシーンは残っています。わかりにくい文章で申し訳ないですが、何かわかる方いましたらコメントお願いします。

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

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

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

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

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

hogefugapiyo

2022/02/14 04:29 編集

Git上のブランチでは特に問題は起きていないという認識でしょうか?(あくまでもritoさんのローカルでのみ競合している) 完全にブランチ上の内容にあわせてしまって良いのであればfetchしてからresetという手もあります。(ブランチ上の最新コミットに強制的にあわせるので、競合しません) https://www-creators.com/archives/1097 手元の変更データが不安な場合はスタッシュしておいたらよいかもしれません https://www.sejuku.net/blog/71428
rito_program

2022/02/14 05:01

コメントありがとうございます。上記のことで少し修正なのですが、競合を解決のあとが選択できなかったのは、自分の勘違いによる間違いでしたので、お詫びいたします。 作業自体はエラーが起きてから止めているので、おそらく変更データは問題ないです。 初心者のためうまく説明ができず申し訳ないのですが、シーンは自分のプロジェクトのみ消えています。その際、 The file 'Assets/Scenes/Stage1.unity' seems to have merge conflicts. Please open it in a text editor and fix the merge. と出てきたのですが、これ通りにテキストエディタを修正ということをすればいいのでしょうか。それとも、コメントして頂いたように、最新コミットに強制的に合わせるというほうがよいでしょうか。
hogefugapiyo

2022/02/14 11:03

最新コミットにあわせる(手元の環境を一旦捨ててもOK)であれば、リセットしたほうが早くて確実なのでそちらが良いかと思います。 手作業でコンフリクト解消もできなくはないですが、直近だと足並み揃え直して作業入れるようにしたほうが質問者の方のニーズにあっているかと思いますので fetch して最新のコミットにあわせてから、git reset --hard とかやれば強制的にGit上のデータ側にあわせてくれるはずです
guest

回答1

0

結論から言えばプロジェクトを一度消して、再度クローンし直すというのをオススメします。

gitの競合解決は絡まった糸をたぐってほぐす様な作業でして、もしよく分からない間に誤ってプッシュなどしてしまった際には、自分だけではなく他のプロジェクトメンバー全体に影響が起こってしまいます。

理想は「自分が作業していたStage1.unityに、相手のStage1.unityの情報をプルで追加したい」なのでしょうが、それはできません。
今回のエラーとはgitが「それは俺の仕様上できないんだけどどうする?」と聞いているケースです。

もし、対応するのであれば、
「相手のStage1.unityを先に入れる」→「Stage1.unityを開きもう一度自分の作業を手作業で追加してコミットする」
「自分のStage1.unityでプルの内容を上書きする」→「Stage1.unityを開き相手の変更内容を手作業で追加してコミットする」
のどちらかになります。
(Unityのシーンファイル(.unity)ではSourcetree(git)の競合解決機能は基本的にうまく機能しません)

上記の対応方法を見て、ではSourcetreeをどのように操作すればいいのかが検討つかないのであれば、プッシュしていなかった作業は諦めてゼロからやり直した方が私は早いと思います。
もしくはチームの中でgitを一番分かっているエンジニアに画面をシェアしながら指示をもらってください。

投稿2022/02/14 06:44

編集2022/02/14 06:57
UnchFullburst

総合スコア663

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問