खोज…


एकता के साथ 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 फ़ाइल को सेटअप करने के तरीके के बारे में अधिक जानने के लिए, यहां देखें

एकता परियोजना सेटिंग्स

डिफ़ॉल्ट रूप से एकता परियोजनाएं सही ढंग से वर्जनिंग का समर्थन करने के लिए सेटअप नहीं हैं।

  1. (इस चरण को v4.5 में छोड़ दें और ऊपर) Unity → Preferences → Packages → Repository में External विकल्प को Unity → Preferences → Packages → Repository
  2. Edit → Project Settings → Editor → Version Control Mode में Visible Meta Files स्विच Edit → Project Settings → Editor → Version Control Mode
  3. Edit → Project Settings → Editor → Asset Serialization Mode में Force Text स्विच Edit → Project Settings → Editor → Asset Serialization Mode
  4. 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 गति प्रदान करने के लिए मैन्युअल रूप से।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow