Unity 原生版本管理工具VersionControl - Plastic SCM 详解
Unity原生版本管理工具 VersionControl- Plastic SCM 詳解
團(tuán)隊(duì)為了方便unity開發(fā),嘗試了各種類型的版本控制工具。嘗試了Github客戶端和SourceTree,發(fā)現(xiàn)都有各種不爽,預(yù)設(shè)體等Unity3D特有文件類型經(jīng)常合并失敗。最后,發(fā)現(xiàn)還是Unity的原生版本管理工具- Plastic SCM最好使,還集成到了Unity編輯器中,如下圖。
下面手把手教大家如何快速上手Plastic SCM。
文章目錄
- 一、正常安裝使用順序
- 二、Plastic 文件忽略
- 三、Branch 分支操作
- 四、Plastic文件夾和項(xiàng)目文件夾配置
- 五、倉庫遷移方法流程
- 六、許可證過期怎么辦?
- 七、操作注意事項(xiàng)及可能出現(xiàn)的問題
一、正常安裝使用順序
官網(wǎng):https://www.plasticscm.com/download
01 :安裝選擇團(tuán)隊(duì)版,Windows.
選擇默認(rèn)安裝選項(xiàng)
一定安裝到C盤
一定安裝到C盤
一定安裝到C盤
不裝C盤Unity中檢測不到Revision Control 工具
注冊賬號(hào) 申請團(tuán)隊(duì)版試用
02 :創(chuàng)建倉庫和工作空間
安裝完P(guān)lastic之后會(huì)讓你選擇是創(chuàng)建倉庫還是加入一個(gè)已有的倉庫,一般來說第一次都選擇創(chuàng)建一個(gè)新的倉庫,然后在該倉庫下創(chuàng)建一個(gè)工作空間.
03 :一一對應(yīng)
一個(gè)repository(存儲(chǔ)庫) 對應(yīng)一個(gè) workspace(工作區(qū)),這樣在切換 Branch Explorer的時(shí)候容易切換
h除倉庫和工作空間的時(shí)候需要先將工作空間切換到其他工作空間,然后刪除工作空間,再刪除倉庫.
先刪除了倉庫會(huì)怎樣?
05 :項(xiàng)目包含順序
將Unity的項(xiàng)目創(chuàng)建到 repository的文件夾下面,或者將倉庫創(chuàng)建到Unity的項(xiàng)目下面,然后打開Plastic.
06 :分支瀏覽器
打開Branch Explorer 會(huì)看到一個(gè)分支名字是Main,這是你的主分支,上面有一個(gè)小房子的標(biāo)志,意思是你當(dāng)前的工作空間在這個(gè)節(jié)點(diǎn)上,你的項(xiàng)目的內(nèi)容處于當(dāng)前節(jié)點(diǎn),所有的修改都是當(dāng)前節(jié)點(diǎn)所代表的.
07 :修改緩存區(qū)
打開Pending changes,里面是你最近對倉庫的修改,現(xiàn)在假設(shè)你已經(jīng)對你的項(xiàng)目做出了修改,你會(huì)看到Item下面有許多項(xiàng),Plastic 默認(rèn)會(huì)幫你勾選Unity的改變文件,當(dāng)然你也可以全選,但是不推薦全選因?yàn)槔锩嬗泻芏嗖槐匾呐渲梦募?
08:提交修改
接下來再Checkin comments里面填寫你這次改動(dòng)的內(nèi)容,然后選擇 Checkin.同步到本地
09 :和服務(wù)器同步
此時(shí)只是同步到本地,你需要到分支瀏覽器中找到整個(gè)項(xiàng)目然后右鍵, Replication,Sync with git,這個(gè)時(shí)候是同步到服務(wù)器端。
10 :同步過后的沖突修改
如果你只有一個(gè)人剛才那一步會(huì)直接將你的內(nèi)容上傳到服務(wù)器,如果是多人合作那么上傳完之后他會(huì)提示你是否有沖突,如果有沖突那么你剛才的步驟則不會(huì)講你的數(shù)據(jù)上傳至服務(wù)器,這個(gè)步驟會(huì)先把服務(wù)器的數(shù)據(jù)下載下來,然后你需要將你的本地?cái)?shù)據(jù)和服務(wù)器合并并且解決沖突,這時(shí)再重復(fù)08步驟就會(huì)將你的數(shù)據(jù)上傳至服務(wù)器(前提是其他人沒有在此期間做出修改并且上傳至服務(wù)器).
11:合并沖突
在你的工作空間的節(jié)點(diǎn)上右鍵選擇Merge from this changeset,此時(shí)你應(yīng)該保證你的Pending changes里面沒有其他的改變了,如果還有一些沒有勾選的配置文件你不想上傳,可以在 preferences, DIff and merge 里面選擇 Allow to merge with pending changes.
12 :設(shè)置合并工具
Plastic支持合并的文件類型包括日常的文本文件配置文件等,但是不包括特殊類型的二進(jìn)制文件,你需要在配置里面添加Unity自帶的工具,選擇Preferences,Merge tools,在這里面添加Unity自帶的工具UnityYAMLMerge,關(guān)于添加這個(gè)工具Unity官方的文檔是這樣的:https://docs.unity3d.com/Manual/SmartMerge.html.接下來的步驟是這樣的,在這個(gè)界面選擇Add,選擇External merge tool,然后路徑就是:<D:\Unity_Install\Editor\Data\Tools\UnityYAMLMerge.exe> merge -p “@basefile” “@sourcefile” “@destinationfile” “@output”,這段可以直接復(fù)制過去,不過前面的中括號(hào)里面的路徑要改為你的Unity的安裝路徑里面對應(yīng)的該工具的路徑,這個(gè)細(xì)節(jié)上面的文檔里面有.然后選擇第三個(gè)選項(xiàng) Use with files that match the following pattern:, 后面的框框里面填寫的是文件的格式,這里應(yīng)該填寫.prefab,注意前面有一個(gè)英文的句號(hào),然后用相同的方式增加一個(gè).unity格式.
D:\Unity\Editor\Data\Toolss\UnityYAMLMerge.exe> merge -p “@basefile” “@sourcefile” “@destinationfile” “@output”
二、Plastic 文件忽略
http://blog.plasticscm.com/2014/11/configuring-ignored-items-on-your.html
在 ignore.conf文件中直接添加文件類型 可以直接忽略該類型的所有文件.
##在Pending changes 界面,有四種類型的修改
A:add,增加
D:delete,刪除
M:move,移動(dòng)
C:change,更改
##忽略方式
Plastic有兩種忽略方式,第一種是在Plastic中的工作空間忽略,就是上面的忽略方法.此時(shí)如果你是新添加的文件,文件的狀態(tài)還有一個(gè)Check out 狀態(tài),那么你無法忽略,此時(shí)在Pending changes 里面還可以看到這個(gè)文件.并且在上傳的時(shí)候會(huì)上傳這個(gè)文件,所以新添加的文件想要忽略需要下面的操作.
在Unity中添加了新文件之后,在Version Control 里面可以看到你添加的問價(jià),這個(gè)時(shí)候右鍵想要忽略的文件(當(dāng)然也可以忽略整個(gè)列表),然后選擇Revert,這樣就會(huì)忽略新添加的文件而帶來的改變,并且將這些文件的狀態(tài)改為私有的,private。
在Plastic中的Pending Changes里面就不會(huì)看到這些改變,如果后續(xù)想要忽略這些文件可以執(zhí)行第一種忽略方法.
02:Plastic的三個(gè)忽略選項(xiàng)
當(dāng)你在Plastic的Workspace Explorer或者Pending changes選項(xiàng)卡中右鍵某個(gè)文件然后選擇 Add to hiden changes list,這個(gè)時(shí)候會(huì)出來三個(gè)選項(xiàng),
第一個(gè)選項(xiàng)就是忽略該文件,這樣無論你對這個(gè)文件或者這個(gè)文件夾的內(nèi)部做出什么樣的改變都會(huì)被忽略掉
第二個(gè)是忽略該文件類型
第三個(gè)是忽略該路徑下的該文件,此處需要注意,當(dāng)你對更改了該文件的路徑的時(shí)候,他的忽略就會(huì)失效.
如果你忽略了一個(gè)文件夾,那么你在該文件夾下面的操作的文件都會(huì)被默認(rèn)為忽略,但是當(dāng)你將這個(gè)操作的文件移動(dòng)到這個(gè)文件夾外面,那么這個(gè)默認(rèn)的忽略就會(huì)被移除,你需要重新對這個(gè)文件進(jìn)行忽略操作.
三、Branch 分支操作
01:在服務(wù)器新建分支
02:在本地新建分支然后將更改放到新建的分支中
03:和服務(wù)器同步新建分支
如果需要建立一個(gè)穩(wěn)定版本,則新建一個(gè)分支在碼云,然后在本地同步先下拉分支,然后將穩(wěn)定的版本保存到該分支,最后上傳和服務(wù)器同步保存到碼云.
四、Plastic文件夾和項(xiàng)目文件夾配置
01:Plastic 的配置文件夾是一個(gè)隱藏文件夾
02:正常項(xiàng)目操作
正常項(xiàng)目操作應(yīng)該是在這個(gè) .plastic 下面創(chuàng)建一個(gè)文件夾將項(xiàng)目工程放進(jìn)去這樣移動(dòng)文件夾不會(huì)攜帶 Plastic 的配置文件夾
五、倉庫遷移方法流程
1、新建倉庫
2、刪除項(xiàng)目中的.plastic文件,新建工作空間,文件位置選擇項(xiàng)目位置
3、檢查忽略文件,把缺失的忽略文件重新加入ignored
4、如下圖,把項(xiàng)目加入到source中
4、ChecKin
5、下拉合并
六、許可證過期怎么辦?
1、付費(fèi)后,重新下載許可證,找到本地安裝路徑,替換。
默認(rèn)替換路徑:C:\Program Files\PlasticSCM5\server
七、操作注意事項(xiàng)及可能出現(xiàn)的問題
##1.工作空間刪除錯(cuò)誤
The settings you’ve introduced don’t match with the stored ones for branch/repo xxxx…Stored are:
重新安裝或刪除工作區(qū),重新建立新的工作區(qū),
##2.搜索不到本地服務(wù)器 localhost:8087
服務(wù)器沒有搜索到
1、查看計(jì)算機(jī)的服務(wù) 里面的 Plastic的服務(wù)是否開啟
2、防火墻導(dǎo)致無法連接,需要關(guān)閉windows防火墻
3、不要相信塑料的這個(gè)功能,它只能搜索到同一個(gè)網(wǎng)段的設(shè)備如172.16.118.xxx
開始以為網(wǎng)段不同,導(dǎo)致不同網(wǎng)段之間無法連接,后來發(fā)現(xiàn)直接輸入目標(biāo)的Ip地址和 端口就可以了
##3.cannot retrieve license information from the plastic scm server
服務(wù)器信息與之的服務(wù)器信息前不一樣
##4.由于目標(biāo)計(jì)算機(jī)積極拒絕,無法連接。127.0.0.1:8087
沒有連接到同事的服務(wù)器,對方?jīng)]有接收的連接服務(wù)器的信息
##5.The client authentiction mode (UPWorkingMode) doesn’t match the server authentication mode(NameWorkingMode).
客戶機(jī)身份驗(yàn)證模式與服務(wù)器身份驗(yàn)證模式不匹配
刪除下面添加的東西
##6.sha值問題
解決方法:
1、刪除需要合并的沖突節(jié)點(diǎn),直接同步
2、重建倉庫
##7.許可證不能使用(不知道怎么出來的)
##8.Plastic顯示保存不到本地
服務(wù)器連接的程老師那產(chǎn)生的 連接不到?jīng)]有
##9.Unity沒有顯示修改的東西
在unity中重新connect
##10.plastic過期:
付費(fèi)后,重新下載許可證,找到本地安裝路徑,替換。
默認(rèn)安裝路徑:C:\Program Files\PlasticSCM5\server
##11.證書問題
如果你的服務(wù)器端的倉庫是公開的,那么意味著所有人都可以下載.
如果你想對這個(gè)做出修改,然后提交到服務(wù)器,首先你要確定自己是否有權(quán)限,上面這個(gè)圖片意思是你沒有對該倉庫的修改權(quán)限,確認(rèn)你是使用了正確的賬號(hào)和密碼
##12.合并工具問題
這個(gè)是合并工具的錯(cuò)誤,如果你和服務(wù)器發(fā)生了沖突,這個(gè)時(shí)候你在解決沖突的時(shí)候跳出了這個(gè)界面,那么應(yīng)該是因?yàn)槟銓Ξ?dāng)前文件的合并使用了錯(cuò)誤的工具,確認(rèn)一下你當(dāng)前合并文件的格式,然后在配置里面添加對應(yīng)的工具.
當(dāng)某個(gè)節(jié)點(diǎn)是綠色的虛線連接到你當(dāng)前的工作空間所在的節(jié)點(diǎn),這表示你有應(yīng)該Checkin的文件沒有提交,提交過后才能和服務(wù)器同步.
##13.預(yù)設(shè)丟失
當(dāng)場景里面的預(yù)設(shè)體處于丟失狀態(tài)時(shí),大部分原因可能是本地沒有該預(yù)設(shè)體文件的引用集合所代表的游戲物體.
##14.同步解決沖突后,出現(xiàn)不能checkin也不能Un Change的問題
原因:合并的兩個(gè)人,有部分改動(dòng)在ignore中,導(dǎo)致未完全合并
解決辦法:打開PendingChanges下的Options,所有的沖突展示都勾選上,再進(jìn)行合并checkin
##15.合并時(shí),提示當(dāng)前報(bào)錯(cuò)時(shí),需要手動(dòng)合并
##16.公網(wǎng)ip問題
通過路由器上網(wǎng) 想讓外網(wǎng)訪問我的電腦 ip
首先在你的路由器設(shè)置 DHCP服務(wù)器-靜態(tài)IP地址分配-填入這臺(tái)電腦的MAC地址和內(nèi)網(wǎng)的IP地址。 轉(zhuǎn)發(fā)規(guī)則- DMZ主機(jī)-選啟用 填入上面分配的內(nèi)網(wǎng)IP地址 保存 重啟就行了。當(dāng)外網(wǎng)訪問你路由器公網(wǎng)IP地址時(shí)會(huì)直接訪問你的這臺(tái)主機(jī)。
總結(jié)
以上是生活随笔為你收集整理的Unity 原生版本管理工具VersionControl - Plastic SCM 详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最新Linux系统安装腾讯QQ教程(非W
- 下一篇: 如何用3DsMax制作笔记本电脑