跳到正文
Qiita · Unity 开发社区· 来源· kurisaka_konabe·· 5 小时前AI 评分1

Unity 中使用 SourceTree 进行版本管理的操作指南(运用篇)

Unityでソースツリーを使ってバージョン管理する2(運用編)

正文 · 原文

コミット

自分のパソコンの中で「この状態を記録する」操作です。
Unityでファイルを追加・修正・削除したあと
「今の状態を履歴として残す」こと

まだGitHubには送られません
自分のパソコンの中だけの記録です
コミットするときは「何を変更したか」を短い文章で書きます(コミットメッセージ)

SourceTreeでの操作

  • 変更したファイルが検知され、「未ステージ」に表示される
  • ステージに上げる(チェックを入れる)
  • 下の枠に「プレイヤーのジャンプ力を調整」などのメッセージを書く
  • 「コミット」ボタンを押す

適切なコミット単位

基本的に1コミットに1つの変更を心がけましょう。
ごちゃ混ぜにしてしまうと、後でコミット単位で打ち消したりするときに不便です。
細か過ぎても大雑把過ぎても後で面倒になります。

PUSH

自分のパソコンでコミットした内容を、GitHubに送る操作
コミットした変更をネット上(GitHub)にアップロードする
これで他の人もその変更をPULLできるようになります

ポイント

コミットしただけでは他の人には見えません
PUSHして初めて共有されます
PUSHする前に、できるだけPULLして最新の状態にしておくのが基本です

SourceTreeでの操作

上部の「プッシュ」ボタンを押す

PULL

GitHubにある最新の状態を、自分のパソコンに取ってくる。
他の人がPushした変更を自分のプロジェクトに反映させる
「みんなの最新版をダウンロードする」イメージ

いつやるのか?

  • 作業を始める前
  • 他の人が「更新したよ」と言ったとき
  • Pushする前(できるだけ最新の状態にしてから送るため)

SourceTreeでの操作

SourceTreeでの操作上部の「プル」ボタンを押すだけ

注意点

自分も同じファイルを変更していると、コンフリクト(衝突)が起きることがあります
作業前にPULLする習慣をつけるとトラブルが減ります

プレハブの編集に関する注意

必ず「プレハブ編集モード」で編集する
シーン内のオブジェクトを直接編集すると、「シーンが変更」されてしまうため。

もし、意図しないシーンの変更が入ってしまった場合は、
ソースツリー上でシーンファイル(.unity)を右クリックして、「変更を破棄」してください

意図しないシーンの変更に関する注意

ファイルをアタッチする等、シーンを変更する意図が無いのにシーンの変更として検出されることが多いです。
なるべく、ゲーム内のオブジェクトはプレハブ化しておき、「プレハブ編集モード」内でアタッチするようにしましょう。

意図しないシーンの変更が検出された場合、
ソースツリー上でシーンファイル(.unity)を右クリックして、「変更を破棄」するのを忘れないでください。

自分の変更を無かったことにする(未コミットの場合)

ソースツリー上で該当ファイルを右クリック→変更を破棄
取り合えず仮で実装してみた内容やシーンの変更を保存すると、ソースツリー上で変更として検出されます。
それらの変更をファイル単位で無かったことにできるので便利です。

自分のコミットを無かったことにする(未PUSHの場合)

  • SourceTreeを開く
  • 左側の「履歴」から、消したいコミットの1つ前のコミットを探す
  • そのコミットを右クリック
  • 「現在のブランチをこのコミットまでリセット...」 を選ぶ
  • リセットの種類を選ぶ

リセットの種類の違い(重要)

Soft

変更内容:ステージされた状態で残る
コミットメッセージを変えたい・コミットをまとめたいとき

Mixed(通常これ)

変更内容:未ステージの変更として残る
普通に「コミット自体をなかったことにしたい」とき

Hard

変更内容:完全に消える
変更内容も全部捨てたいとき(注意!)

誰かのPUSHを無かったことにしたい

1. 安全な方法(おすすめ):Revert(打ち消しコミットを作る)

どんなときに使う?

すでに他の人もその変更をPullしている可能性がある
チームで共有しているリポジトリの場合
「変更の影響だけ消したい。履歴は残っていい」場合

やっていること

「あのPushの内容をなかったことにする」という新しいコミットを作ります。
履歴自体は残りますが、ファイルの状態は元に戻ります。

SourceTreeでの手順

SourceTreeを開く
左側の「履歴」や「ログ」から、取り消したいコミットを探す
そのコミットを右クリック
「コミットをリバート...」(Revert Commit) を選択
確認画面が出たらOK
新しい「Revert "〇〇"」というコミットが作られる
これをPushする

これで、相手がPushした内容の影響が打ち消されます。

メリット

他の人の作業を壊しにくい(安全)
履歴がちゃんと残るので「いつ誰が取り消したか」がわかる

デメリット

履歴に「取り消したよ」という記録が残る

特定の時間に戻りたい

編集中…

来源:Qiita · Unity 开发社区 · qiita.com