unity3d
एकता के साथ Git स्रोत नियंत्रण का उपयोग करना
खोज…
एकता के साथ Git लार्ज फ़ाइल स्टोरेज (LFS) का उपयोग करना
प्रस्तावना
गिट बॉक्स से वीडियो गेम के विकास के साथ काम कर सकते हैं। हालांकि मुख्य चेतावनी यह है कि बड़ी (> 5 एमबी) मीडिया फ़ाइलों को संस्करणबद्ध करना दीर्घकालिक समस्या हो सकती है क्योंकि आपका कमिटमेंट हिस्ट्री ब्लॉट्स के रूप में होता है - गिट केवल मूल रूप से द्विआधारी फाइलों को संस्करण बनाने के लिए नहीं बनाया गया था।
बड़ी खबर यह है कि 2015 के मध्य से GitHub ने Git के लिए Git LFS नामक एक प्लगइन जारी किया है जो सीधे इस समस्या से निपटता है। अब आप बड़ी बाइनरी फ़ाइलों को आसानी से और कुशलता से संस्करण कर सकते हैं!
अंत में, यह प्रलेखन विशिष्ट आवश्यकताओं और सूचनाओं पर केंद्रित है, जो यह सुनिश्चित करने के लिए आवश्यक हैं कि आपका गेम जीवन वीडियो गेम के विकास के साथ अच्छी तरह से काम करता है। यह मार्गदर्शिका यह नहीं बताएगी कि Git का उपयोग कैसे किया जाए।
Git & Git-LFS स्थापित करना
आपके पास एक डेवलपर के रूप में आपके पास कई विकल्प उपलब्ध हैं और पहली पसंद यह है कि कोर गिट कमांड लाइन को स्थापित करें या आपके लिए इसके साथ लोकप्रिय Git GUI अनुप्रयोगों में से एक का सौदा करें।
विकल्प 1: Git GUI एप्लिकेशन का उपयोग करें
यह वास्तव में यहां एक व्यक्तिगत प्राथमिकता है क्योंकि जीआईटी जीयूआई के संदर्भ में काफी कुछ विकल्प हैं या क्या जीयूआई का उपयोग करना है। आपके पास चुनने के लिए कई एप्लिकेशन हैं, यहां 3 अधिक लोकप्रिय हैं:
एक बार जब आप अपनी पसंद का एप्लिकेशन इंस्टॉल कर लेते हैं, तो कृपया Google पर जाएं और यह सुनिश्चित करने के निर्देशों का पालन करें कि यह Git-LFS के लिए कैसे सेटअप है। हम इस गाइड में इस कदम को छोड़ देंगे क्योंकि यह एप्लिकेशन विशिष्ट है।
विकल्प 2: Git & Git-LFS स्थापित करें
यह बहुत आसान है - Git स्थापित करें । फिर। Git LFS स्थापित करें ।
अपनी परियोजना पर Git लार्ज फ़ाइल संग्रहण कॉन्फ़िगर करना
यदि आप बाइनरी फ़ाइलों के लिए बेहतर समर्थन देने के लिए Git LFS प्लगइन का उपयोग कर रहे हैं, तो आपको GG LFS द्वारा प्रबंधित करने के लिए कुछ फ़ाइल प्रकार सेट करने होंगे। एकता परियोजनाओं में उपयोग की जाने वाली आम बाइनरी फ़ाइलों का समर्थन करने के लिए अपनी रिपॉजिटरी की जड़ में अपनी .gitattributes
फ़ाइल के नीचे जोड़ें:
# Image formats:
*.tga filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.tif filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
# Audio formats:
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.aiff filter=lfs diff=lfs merge=lfs -text
# 3D model formats:
*.fbx filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text
# Unity formats:
*.sbsar filter=lfs diff=lfs merge=lfs -text
*.unity filter=lfs diff=lfs merge=lfs -text
# Other binary formats
*.dll filter=lfs diff=lfs merge=lfs -text
एकता के लिए एक जीत भंडार स्थापित करना
एकता विकास के लिए एक गिट रिपॉजिटरी की शुरुआत करते समय, कुछ चीजें हैं जिन्हें करने की आवश्यकता है।
एकता ने फ़ोल्डरों की उपेक्षा की
रिपॉजिटरी में सब कुछ नहीं होना चाहिए। आप अपनी रिपॉजिटरी की जड़ में अपने .gitignore
फ़ाइल के नीचे टेम्पलेट जोड़ सकते हैं। या वैकल्पिक रूप से, आप खुले स्रोत एकता की जांच कर सकते हैं। GitHub पर .ignignore और वैकल्पिक रूप से एकता के लिए gitignore.io का उपयोग करके उत्पन्न करते हैं ।
# Unity Generated
[Tt]emp/
[Ll]ibrary/
[Oo]bj/
# Unity3D Generated File On Crash Reports
sysinfo.txt
# Visual Studio / MonoDevelop Generated
ExportedObj/
obj/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
# OS Generated
desktop.ini
.DS_Store
.DS_Store?
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
.Gitignore फ़ाइल को सेटअप करने के तरीके के बारे में अधिक जानने के लिए, यहां देखें ।
एकता परियोजना सेटिंग्स
डिफ़ॉल्ट रूप से एकता परियोजनाएं सही ढंग से वर्जनिंग का समर्थन करने के लिए सेटअप नहीं हैं।
- (इस चरण को v4.5 में छोड़ दें और ऊपर)
Unity → Preferences → Packages → Repository
मेंExternal
विकल्प कोUnity → Preferences → Packages → Repository
। -
Edit → Project Settings → Editor → Version Control Mode
मेंVisible Meta Files
स्विचEdit → Project Settings → Editor → Version Control Mode
। -
Edit → Project Settings → Editor → Asset Serialization Mode
मेंForce Text
स्विचEdit → Project Settings → Editor → Asset Serialization Mode
। -
File
मेनू से दृश्य और परियोजना को सहेजें।
अतिरिक्त विन्यास
कुछ प्रमुख झुंझलाहट में से एक है जो गिट प्रोजेक्ट्स विद यूनिटी का उपयोग कर रहा है, यह है कि गिट निर्देशिकाओं के बारे में परवाह नहीं करता है और खुशी से खाली निर्देशिकाओं को छोड़ देगा। एकता इन निर्देशिकाओं के लिए *.meta
फाइलें *.meta
और टीम के सदस्यों के बीच थोड़ी लड़ाई हो सकती है जब Git इन मेटा फाइलों को जोड़ना और हटाना जारी रखता है।
इस Git पोस्ट-मर्ज हुक को /.git/hooks/
फ़ोल्डर में जोड़ें, जिसमें यूनिटी प्रोजेक्ट्स के साथ रिपॉजिटरी हैं। किसी भी Git पुल / मर्ज के बाद, यह देखेगा कि कौन सी फाइलें निकाली गई हैं, यह जांचें कि क्या यह जिस निर्देशिका में मौजूद है वह खाली है, और यदि इसे हटा दें।
दृश्य और प्रीफ़ैब्स विलय
एकता के साथ काम करते समय एक आम समस्या यह है कि जब 2 या अधिक डेवलपर्स एक एकता दृश्य या प्रीफ़ैब (* .unity फ़ाइलें) को संशोधित कर रहे हैं। Git नहीं जानता कि उन्हें सही तरीके से बॉक्स से कैसे मर्ज किया जाए। शुक्र है कि एकता टीम ने स्मार्टमर्ज़ नामक एक उपकरण तैनात किया जो सरल मर्ज को स्वचालित बनाता है। ऐसा करने के लिए पहली बात यह आपके लिए निम्नलिखित लाइनों को जोड़ने के लिए है .git
या .gitconfig
फ़ाइल: (विंडोज: %USERPROFILE%\.gitconfig
, लिनक्स / मैक ओएस एक्स: ~/.gitconfig
)
[merge]
tool = unityyamlmerge
[mergetool "unityyamlmerge"]
trustExitCode = false
cmd = '<path to UnityYAMLMerge>' merge -p "$BASE" "$REMOTE" "$LOCAL" "$MERGED"
विंडोज पर UnityYAMLMerge का रास्ता है:
C:\Program Files\Unity\Editor\Data\Tools\UnityYAMLMerge.exe
या
C:\Program Files (x86)\Unity\Editor\Data\Tools\UnityYAMLMerge.exe
और MacOSX पर:
/Applications/Unity/Unity.app/Contents/Tools/UnityYAMLMerge
एक बार यह पूरा हो जाने पर, मर्जेटूल तब उपलब्ध होगा जब मर्ज / रिबेस के दौरान टकराव उत्पन्न होगा। चलाने के लिए मत भूलना git mergetool
UnityYAMLMerge गति प्रदान करने के लिए मैन्युअल रूप से।