Unity工具—版本合并UnityYAMLMerge

Unity 內(nèi)部集成的版本合并工具,可用于第三方版本管理工具解決 Scene 和 Prefab 沖突問題

本文譯自官方手冊(cè)

原文地址:Unity工具—版本合并UnityYAMLMerge

前提

使用第三方版本管理工具需先將 Unity 的

  1. Edit > Project Settings > Version Control 選項(xiàng)改為Visible Meta Files

  2. Edit > Project Settings > Asset Serialization 選項(xiàng)改為Force Text

    該操作是將 Unity Asset 文件的內(nèi)容由二進(jìn)制格式改為 yaml 文本格式,以便于版本管理識(shí)別

工具位置

Windows下,Unity 安裝目錄下

C:\Program Files\Unity\Editor\Data\Tools\UnityYAMLMerge.exe

or

C:\Program Files (x86)\Unity\Editor\Data\Tools\UnityYAMLMerge.exe

Mac OSX,右鍵顯示包內(nèi)容

/Applications/Unity/Unity.app/Contents/Tools/UnityYAMLMerge

使用方法

P4V

  1. 配置 > 合并(Preference > Merge)
  2. 選擇其他應(yīng)用 (Other application)
  3. 點(diǎn)擊添加(Add) 按鈕
  4. 在擴(kuò)展區(qū)選擇 .unity
  5. 在應(yīng)用欄(Application)輸入UnityYAMLMerge路徑
  6. 在參數(shù)欄(Arguments)輸入 merge -p %b %1 %2 %r
  7. 點(diǎn)擊保存(Save)

Git

配置 Git,添加以下內(nèi)容到.git.gitconfig文件

[merge]
tool = unityyamlmerge

[mergetool "unityyamlmerge"]
trustExitCode = false
cmd = '<path to UnityYAMLMerge>' merge -p "$BASE" "$REMOTE" "$LOCAL" "$MERGED"

Mercurial

添加以下內(nèi)容到.hgrc文件

[merge-patterns]
**.unity = unityyamlmerge
**.prefab = unityyamlmerge

[merge-tools]
unityyamlmerge.executable = <path to UnityYAMLMerge>
unityyamlmerge.args = merge -p --force $base $other $local $output
unityyamlmerge.checkprompt = True
unityyamlmerge.premerge = False
unityyamlmerge.binary = False

SVN

添加以下內(nèi)容到~/.subversion/config

[helpers]
merge-tool-cmd = <path to UnityYAMLMerge>

TortoiseGit

  1. 打開 配置 > 差異查看器 > 合并工具 點(diǎn)擊高級(jí) (Preferences > Diff Viewer > Merge Tool 點(diǎn)擊 Advance)

  2. 在擴(kuò)展名下拉欄選擇 .unity

  3. 在擴(kuò)展程序區(qū)輸入

    <path to UnityYAMLMerge> merge -p %base %theirs %mine %merged
    

PlasticSCM

  1. 配置 > 合并工具 點(diǎn)擊添加按鈕 (Preferences > Merge Tool 點(diǎn)擊 Add)

  2. 選擇外部(External)合并工具

  3. 選擇使用下方路徑文件(Use with files that match the following pattern)

  4. 添加.unity后綴

  5. 輸入指令

    <path to UnityYAMLMerge> merge -p "@basefile" "@sourcefile"  "@destinationfile" "@output"
    

SourceTree

  1. 工具 > 選項(xiàng) > 差異(Tools > Options > Diff)
  2. 合并工具下拉欄選擇自定義 (Custom)
  3. 合并指令欄(Merge Command)輸入U(xiǎn)nityYAMLMerge的路徑
  4. 在參數(shù)欄(Arguments)輸入merge -p $BASE $REMOTE $LOCAL $MERGED
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容