यूनिटी 3 डी स्रोत नियंत्रण के लिए गिट का उपयोग कैसे करें?


499

यूनिटी 3 डी के साथ जीआईटी स्रोत नियंत्रण का उपयोग करने के लिए सर्वोत्तम अभ्यास क्या हैं , विशेषकर यूनिटी 3 डी प्रोजेक्ट्स की द्विआधारी प्रकृति से निपटने में? कृपया वर्कफ़्लो का वर्णन करें कि, .ignignore में कौन से पथ शामिल किए जाएंगे, एकता और / या प्रोजेक्ट में कौन सी सेटिंग्स निर्धारित की जानी चाहिए, और किसी भी अन्य विशेष चीज़ों पर ध्यान दिया जाना चाहिए।

नोट: मुझे पता है कि एसेट सर्वर का उपयोग एकता-अनुशंसित तरीका है, लेकिन मैं कई कारणों से गिट का उपयोग करना चाहूंगा। कृपया कोई जवाब न दें कि राज्य या तर्क है कि मुझे सिर्फ एसेट सर्वर का उपयोग करना चाहिए। एसेट सर्वर वास्तव में मेरे लिए एक विकल्प नहीं है।


3
व्यर्थ git V svn तर्कों की परवाह किए बिना "सिर्फ svn का उपयोग करें", बड़ी बाइनरी फाइलों के लिए git अभी नहीं है। एकता परियोजनाएं कोड की एक मुट्ठी भर लाइनों के साथ फिल्में (और विभिन्न विशाल द्विआधारी फाइलें - बनावट आदि) हैं। क्या आप अपने मूवी संग्रह को संग्रहीत करने के लिए गिट का उपयोग करेंगे? svn कम से कम उचित है।
फेटी

1
सबसे सरल उपाय है कि सभी बायनरी फ़ोल्डर्स को gitignore के साथ छोड़ दें, और केवल अपने वास्तविक कोड फ़ाइलों के लिए git का उपयोग करें, और शायद आपकी संपत्ति फ़ाइलों का। सभी बायनेरिज़ को शामिल करने की आवश्यकता नहीं है क्योंकि हर टीम सदस्य उन्हें खुद के लिए संकलित कर सकता है?
कोकोडोको

@Kododoko कलाकार अपने स्वयं के निष्पादनयोग्य संकलन नहीं कर सकते।
Crashworks

यहां तक ​​कि अगर यह सच था, तब भी वे नई छवि की संपत्ति को धक्का दे सकते हैं ... ताकि
देवता

@ कोकोकोडो का मतलब है कि एक कलाकार को अपने बदलाव के खेल को देखने के लिए प्रतिबद्ध होने के लिए एक देवता की प्रतीक्षा करने और एक निर्माण करने की आवश्यकता होगी। यह एक बहुत लंबा चलने का समय है।
रात्रि

जवाबों:


522

निम्नलिखित मेरे व्यक्तिगत ब्लॉग का एक अंश है ।

3D गेम्स के साथ Git का उपयोग करना

अद्यतन अक्टूबर 2015: GitHub ने Git के लिए एक प्लगइन जारी किया है जिसे Git LFS कहा जाता है जो सीधे नीचे की समस्या से संबंधित है। अब आप बड़ी बाइनरी फ़ाइलों को आसानी से और कुशलता से संस्करण कर सकते हैं!

Git बॉक्स के बाहर 3D गेम के साथ ठीक काम कर सकता है। हालांकि यहां मुख्य चेतावनी यह है कि बड़ी (> 5 एमबी) मीडिया फ़ाइलों को आपके कमिटेड इतिहास ब्लॉट्स के रूप में लंबे समय तक समस्या हो सकती है। हमने अपनी परियोजनाओं में इस संभावित मुद्दे को केवल द्विआधारी संपत्ति के संस्करण के रूप में हल किया है जब इसे अंतिम माना जाता है। हमारे 3D कलाकार WIP परिसंपत्तियों पर काम करने के लिए ड्रॉपबॉक्स का उपयोग करते हैं, दोनों ऊपर के कारण से और क्योंकि यह बहुत तेज़ और सरल है (कई कलाकार सक्रिय रूप से Git का उपयोग नहीं करना चाहेंगे!)।

गिट वर्कफ्लो

आपका Git वर्कफ़्लो बहुत कुछ है जिसे आपको खुद तय करने की ज़रूरत है कि एक टीम के रूप में अपने खुद के अनुभव दिए गए हैं और आप एक साथ कैसे काम करते हैं। तथापि। मैं यहाँ मूल लेखक द्वारा वर्णित रूप में उचित रूप से Git Flow कार्यप्रणाली का नाम सुझाऊँगा ।

मैं यहाँ बहुत अधिक गहराई में नहीं जाऊँगा कि कार्यप्रणाली कैसे काम करती है क्योंकि लेखक इसका पूरी तरह से वर्णन करता है और काफी कम शब्दों में भी इसके माध्यम से प्राप्त करना आसान है। मैं अपनी टीम के साथ अब थोड़ी देर के लिए उपयोग कर रहा हूं, और हमने अब तक की कोशिश की सबसे अच्छी कार्यप्रवाह है।

Git GUI क्लाइंट अनुप्रयोग

यह वास्तव में यहां एक व्यक्तिगत प्राथमिकता है क्योंकि जीआईटी जीयूआई के संदर्भ में काफी कुछ विकल्प हैं या क्या जीयूआई का उपयोग करना है। लेकिन मैं फ्री सोर्सट्री एप्लिकेशन का सुझाव देना चाहूंगा क्योंकि यह पूरी तरह से गिट फ्लो एक्सटेंशन के साथ प्लग होता है। उनके आवेदन में Git Flow कार्यप्रणाली को लागू करने पर यहां SourceTree ट्यूटोरियल पढ़ें ।

यूनिटी 3 डी फोल्डर्स को इग्नोर करता है

अप टू डेट संस्करण चेकआउट के लिए गितुब ने ओएस बारीकियों के बिना यूनिटी.जिग्नोर फाइल को बनाए रखा

# =============== #
# Unity generated #
# =============== #
Temp/
Library/

# ===================================== #
# Visual Studio / MonoDevelop generated #
# ===================================== #
ExportedObj/
obj/
*.svd
*.userprefs
/*.csproj
*.pidb
*.suo
/*.sln
*.user
*.unityproj
*.booproj

# ============ #
# OS generated #
# ============ #
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

यूनिटी 3 डी सेटिंग्स

एकता 3 डी v4.3 और ऊपर के संस्करणों के लिए:

  1. (इस चरण को v4.5 और ऊपर छोड़ें) Externalमें विकल्प सक्षम करें Unity → Preferences → Packages → Repository
  2. Editमेनू खोलें और चुनें Project Settings → Editor:
    1. पर स्विच Version Control Modeकरें Visible Meta Files
    2. पर स्विच Asset Serialization Modeकरें Force Text
  3. Fileमेनू से दृश्य और परियोजना को बचाओ ।

क्या आप अपने मौजूदा रेपो को LFS में माइग्रेट करना चाहते हैं?

यह कैसे करना है पर कदम के लिए मेरे ब्लॉग पोस्ट की जाँच करें

अतिरिक्त विन्यास

यूनिटी 3 डी परियोजनाओं के साथ जीआईटी का उपयोग करने वाले कुछ प्रमुख झुंझलाहटों में से एक यह है कि गिट निर्देशिकाओं के बारे में परवाह नहीं करते हैं और उनसे फ़ाइलों को हटाने के बाद खुशी से खाली निर्देशिकाओं को छोड़ देंगे। इन निर्देशिकाओं के लिए Unity3D * .meta फाइलें बनाएगा और टीम के सदस्यों के बीच थोड़ी सी लड़ाई का कारण बन सकता है जब Git इन मेटा फाइलों को जोड़ना और हटाना जारी रखेगा।

इस Git पोस्ट-मर्ज हुक को /.git/hooks/फ़ोल्डर में Unity3D प्रोजेक्ट्स के साथ रिपॉजिटरी के लिए जोड़ें । किसी भी गिट पुल / मर्ज के बाद, यह देखेगा कि कौन सी फाइलें निकाली गई हैं, यह जांचें कि क्या यह जिस निर्देशिका में मौजूद है वह खाली है, और यदि इसे हटा दें।


2
Git वर्कफ़्लो के बारे में उल्लेख करना अच्छा है, लेकिन शायद मुझे अपने प्रश्न में स्पष्ट करना चाहिए कि मैं वर्कफ़्लोज़ के बारे में पूछ रहा हूँ विशेष रूप से एकता 3 डी के लिए। जैसा कि आप जानते हैं, एकता परियोजनाएं द्विआधारी फाइलों पर बहुत अधिक निर्भर करती हैं। क्या इससे निपटने के लिए कोई विशेष विचार हैं? इस विषय पर शोध करते समय कुछ सिफारिशें मुझे एक ऐसे वर्कफ़्लो का उपयोग करने के लिए मिलीं जो यथासंभव विलय से बचता था। शायद आप इस भावना को साझा नहीं करते हैं, लेकिन मेरा प्रश्न सामान्य वर्कफ़्लो वरीयताओं के बजाय unity3d विशिष्ट मुद्दों के प्रति अधिक विशिष्ट है।
प्रेसिंगऑनवेज

3
हम अपने बड़े बाइनरी कंटेंट को प्रबंधित करने के लिए गिट-एनेक्स का उपयोग करते हैं । विंडोज समर्थन भयानक नहीं है, लेकिन यह बेहतर हो रहा है। यह केवल तभी सहायक होता है जब आप बड़ी बाइनरी फ़ाइलों में ट्रैकिंग रीव्स की परवाह नहीं करते हैं।
जार्डक

2
इस पर एक अपडेट - हमने आपके सेटअप की कोशिश की और इसने बहुत अच्छा काम किया, लेकिन हम चाहते थे कि हमारी संपत्तियां अपने आप सिंक हो जाएं। अब हम बाइनरी एसेट फ़ोल्डर को चुनिंदा रूप से सिंक करने के लिए शर्करा का उपयोग करते हैं। ड्रॉपबॉक्स केवल ड्रॉपबॉक्स फ़ोल्डर को सिंक करेगा, लेकिन चीनी सिंक के साथ, आप हार्ड ड्राइव पर कहीं भी फ़ोल्डर को मनमाने ढंग से सिंक कर सकते हैं जो बेहद उपयोगी है। इन बड़ी बाइनरी फ़ाइलों के लिए एक सबफ़ोल्डर को परिभाषित करने के लिए हमें अपनी एसेट्स निर्देशिका संरचना को थोड़ा बदलना पड़ा, लेकिन अभी तक इसने वास्तव में अच्छी तरह से काम किया है। हम बस उस फ़ोल्डर को .ignignore करते हैं और चीनी सिंक को सिंक में रखने की अनुमति देते हैं।
प्रेसिंगऑनवेज

2
पसंद के साथ क्यों जाना है Hidden Meta Files?
स्लिप डी। थॉम्पसन

2
फिक्स्ड माय कॉपी एन पेस्ट टाइपो - हां यह विजिबल मेटा फाइल्स होनी चाहिए।
एस। रिचमंड 13

60

यूनिटी 4.3 में आपको वरीयताओं में से बाहरी विकल्प को भी सक्षम करना था, लेकिन यूनिटी 4.5 के बाद से उन्होंने इसके लिए विकल्प छोड़ दिया, इसलिए पूर्ण सेटअप प्रक्रिया निम्न लगती है:

  1. स्विच करने Visible Meta FilesमेंEditor → Project Settings → Editor → Version Control Mode
  2. स्विच करने Force TextमेंEditor → Project Settings → Editor → Asset Serialization Mode
  3. Fileमेनू से दृश्य और परियोजना को बचाओ

इसके अलावा हमारी टीम थोड़ी अधिक विस्तारित .gitignoreफ़ाइल का उपयोग कर रही है :

# =============== #
# Unity generated #
# =============== #
Temp/
Library/

# ===================================== #
# Visual Studio / MonoDevelop generated #
# ===================================== #
ExportedObj/
obj/
*.svd
*.userprefs
/*.csproj
*.pidb
*.suo
/*.sln
*.user
*.unityproj
*.booproj

# ============ #
# OS generated #
# ============ #
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

ध्यान दें कि स्रोत नियंत्रण में रखने के लिए आपको केवल वही फ़ोल्डर चाहिए Assetsऔर ProjectSettings

एकता परियोजना को स्रोत नियंत्रण में रखने के बारे में अधिक जानकारी आप इस पोस्ट में पा सकते हैं ।


इन नए विकल्पों को शामिल करने के लिए यदि आप शीर्ष पर मेरे उत्तर को संपादित करते हैं तो बेहतर हो सकता है। :)
एस। रिचमंड

6
पसंद के साथ क्यों जाना है Hidden Meta Files?
स्लिप डी। थॉम्पसन

बिंदु एक स्पष्ट रूप से गलत है। कोई एकता नहीं है → वरीयताएँ → पैकेज → रिपॉजिटरी
अगस्टिनो

1
docs.unity3d.com/Manual/… के अनुसार यह दृश्यमान मेटा फाइल्स होनी चाहिए
मार्कस

1
मेरी टीम के लिए ठीक काम करता है। आपका बहुत बहुत धन्यवाद।
इफर्सुच

34

GIT क्या है?

Git 2005 में लाइनस टोरवाल्ड्स (लिनक्स ओएस संस्थापक) द्वारा विकसित एक स्वतंत्र और खुला स्रोत वितरित संस्करण नियंत्रण प्रणाली (एससीएम) है। यह गति और दक्षता के साथ छोटे से लेकर बड़े प्रोजेक्ट तक सब कुछ नियंत्रित करने के लिए बनाया गया है। Google, Facebook, Microsoft जैसी अग्रणी कंपनियाँ हर दिन GIT का उपयोग करती हैं।

यदि आप GIT के बारे में अधिक जानना चाहते हैं , तो इस त्वरित ट्यूटोरियल की जाँच करें ,

सबसे पहले सुनिश्चित करें कि आपके पास अपना Git वातावरण सेट है। आपको अपने स्थानीय वातावरण और Git रिपॉजिटरी (मुझे Github.com पसंद है) दोनों को सेट करने की आवश्यकता है।

GIT क्लाइंट एप्लिकेशन मैक / विंडोज

GIT gui क्लाइंट एप्लिकेशन के लिए मैंने आपको Github.com के साथ जाने की सलाह दी,

GitHub दोस्तों, सहकर्मियों, सहपाठियों और पूर्ण अजनबियों के साथ कोड साझा करने का स्थान है। पांच मिलियन से अधिक लोग GitHub का उपयोग अद्भुत चीजों को एक साथ बनाने के लिए करते हैं।

यूनिटी 3 डी सेटिंग्स

आपको इन सेटिंग्स को करने की आवश्यकता है

संपादन → प्रोजेक्ट सेटिंग्स → संपादक → संस्करण नियंत्रण मोड में दृश्यमान मेटा फ़ाइलों पर स्विच करें।

यहाँ छवि विवरण दर्ज करें

एकता में बाहरी विकल्प को प्राथमिकता दें → वरीयताएँ → संकुल → रिपोजिटरी

यहाँ छवि विवरण दर्ज करें

संपादित करें → प्रोजेक्ट सेटिंग्स → संपादक → एसेट सीरियलाइज़ेशन मोड में फोर्स टेक्स्ट पर स्विच करें।

यहाँ छवि विवरण दर्ज करें

स्रोत: 3 डी गेम सोर्स कंट्रोल के साथ गिट का उपयोग करना


6
+1 यह उत्तर पहले से ही ऊपर लिखा है लेकिन @NabeelSaleem उत्तर ने मुझे उन चित्रों के साथ मदद की जो उन्होंने प्रदान की और स्पष्ट मार्गदर्शिका :) धन्यवाद
aflatoon

3
मैं Preferences > Packagesएकता 5.x सामान्य में नहीं मिल सकता है ? ty
यवेस लैंग

5
@NabeelSaleem हाँ। वास्तव में एकता 5.x में यह कदम आवश्यक नहीं है। ty
यवेस लैंग

22

बताई गई सभी चीजों को जोड़ने के लिए, यह एकता के साथ git lfs का उपयोग करने के लिए भी आदर्श है । मैं इसका उपयोग तब से कर रहा हूं जब यह बाहर आया था और मुझे इससे कोई परेशानी नहीं थी।

आप इसे .gitattributesअपनी .gitignoreफ़ाइल के आगे जोड़ना चाहेंगे

*.cs diff=csharp text
*.cginc text
*.shader text

*.mat merge=unityyamlmerge eol=lf
*.anim merge=unityyamlmerge eol=lf
*.unity merge=unityyamlmerge eol=lf
*.prefab merge=unityyamlmerge eol=lf
*.physicsMaterial2D merge=unityyamlmerge eol=lf
*.physicsMaterial merge=unityyamlmerge eol=lf
*.asset merge=unityyamlmerge eol=lf
*.meta merge=unityyamlmerge eol=lf
*.controller merge=unityyamlmerge eol=lf

*.a filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.aif filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.FBX filter=lfs diff=lfs merge=lfs -text
*.rns filter=lfs diff=lfs merge=lfs -text
*.reason filter=lfs diff=lfs merge=lfs -text
*.lxo filter=lfs diff=lfs merge=lfs -text

वह मेरी रोलिंग फ़ाइल सूची है। यदि आप सूचीबद्ध नहीं की गई अतिरिक्त बाइनरी फ़ाइलों का उपयोग करते हैं, तो उन्हें जोड़ें।

मेरे पास yamlmerge का उपयोग करने के लिए कॉन्फ़िगर की गई फाइलें भी हैं, आपको इसे स्थापित करने की आवश्यकता होगी। आप इसके बारे में यहां पढ़ सकते हैं: http://docs.unity3d.com/Manual/SmartMerge.html


11

अब हमारे पास गितुब के साथ एकता के विस्तार के लिए एकता का सहज एकीकरण है ... https://unity.github.com/

एकता एक्सटेंशन के लिए नया GitHub, Git LFS और फ़ाइल लॉकिंग के साथ बड़ी फ़ाइलों के लिए समर्थन प्रदान करते हुए, GitHub वर्कफ़्लो और एकता को और अधिक लाता है।

लेखन के समय परियोजना अल्फा में है, लेकिन व्यक्तिगत परियोजनाओं के लिए अभी भी प्रयोग करने योग्य है।


क्या आपने यह कोशिश की?
नबील के

11

मैंने सोचा था कि मैं .gitignoreरुचि रखने वाले किसी व्यक्ति के लिए एक सरल पोस्ट कर सकता हूं :

# Ignore Everything
/*

# Except for these:
!/.gitignore
!/Assets
!/Packages
!/ProjectSettings

7
फिर से, इस पृष्ठ पर ये सभी उत्तर काफी पुराने हैं। यदि किसी कारणवश आपको यूनिटी के साथ gitub.com/github/gitignore/blob/master/Unity.gitignore
गिट्टी

छोटे, सरल और सभी संस्करणों के साथ पूरी तरह से संगत: मुझे लगता है कि यह स्क्रिप्ट एकता 2017 और 2018 के लिए सबसे अच्छा काम करती है, जिन्होंने हाल ही में अपनी परियोजना संरचना ( UnityPackageManager/और Packages/) को बदल दिया है ।
इसहाक एरिकसन

8

एकता-डी स्रोत कोड संस्करण नियंत्रण के लिए git का उपयोग करते समय याद रखने वाली मुख्य बातें:

(ए) लाइब्रेरी फ़ोल्डर में चेक-इन करें । मैंने अतीत में कई बार यह गलती की है और इसके लिए भुगतना पड़ा है! अपने प्रोजेक्ट / फ़ाइलों को git में जोड़ने से पहले लाइब्रेरी फ़ोल्डर को हटाएं या स्थानांतरित करें।

(बी) नवीनतम एकता संस्करणों के लिए "दर्शनीय मेटा फाइलें" का उपयोग करें - 5.3.4 और इसके बाद के संस्करण डिफ़ॉल्ट रूप से होता है। पहले के कुछ संस्करणों के लिए आपको निम्न सेटिंग्स बदलने की जरूरत है: संपादन-> परियोजना सेटिंग्स-> संस्करण नियंत्रण

(सी) एकता के लिए .itignore फ़ाइल का उपयोग करें - यह सुनिश्चित करने के लिए कि स्वच्छता बनाए रखी गई है और फ़ाइलों को अनावश्यक रूप से नहीं जोड़ा गया है - अगर Android / tizen पर है - तो रिपॉजिटरी में जोड़े जाने से APK और TPK फ़ाइलों को बाहर करने के लिए नियम जोड़ें। एकता के लिए एक .gitignore फ़ाइल के लिए Google के आसपास या फिर इस मॉडल का उपयोग करें। GitHub द्वारा प्रदान की गई एकता के लिए .gitignore: https://github.com/github/gitignore/blob/master/Unity.gitignore

डीऐसा क्यों हुआ, इस बारे में विचार करने के लिए कई विचार रखें- लेकिन आजकल मैं सिर्फ कॉपी और रिपोजिटरी सेट करने के पहले चरण के रूप में .ignignore फाइल को जोड़ता हूं।

तो ... गिट के लिए एक एकता परियोजना तैयार करने के लिए, निम्नलिखित करें:

(1) प्रोजेक्ट फ़ोल्डर पर जाएं

(२) टाइप इनिट।

(3) कॉपी .gitignore फ़ाइल: MacOS पर: cp ~ / डाउनलोड / / .ignignore Windows पर: प्रतिलिपि c: \ Users [yourusername] \ Downloads.gitignore।

(४) गिट ऐड ।गिग्नोर

(5) git add *

आशा है कि यह मदद करता है ... ऑल द बेस्ट!


6

Edit -> Project Settings -> Editor

मेटा फ़ाइलों के लिए संस्करण नियंत्रण सेट करें। पाठ को बाध्य करने के लिए एसेट सीरियल सेट करें।

मुझे लगता है कि आप यही चाहते हैं।


1
और फिर आप YAML मर्ज कैसे सेट करते हैं?
शिंज़ौ

6

मैं बल्कि यह पसंद करूंगा कि आप BitBucket का उपयोग करें, क्योंकि यह सार्वजनिक नहीं है और Bitbucket पर Unity द्वारा एक आधिकारिक ट्यूटोरियल है।

https://unity3d.com/learn/tutorials/topics/cloud-build/creating-your-first-source-control-repository

उम्मीद है की यह मदद करेगा।


6

आप गितुब फॉर यूनिटी , एक यूनिटी एक्सटेंशन का उपयोग कर सकते हैं जो यूनिटी के यूआई में गिट वर्कफ़्लो लाता है।

जीथुब फॉर यूनिटी ने एक्सटेंशन का संस्करण 1.0 जारी किया।

  • यह बड़ी संपत्ति को ठीक से स्टोर करने के लिए git-lfs (git big file support) का उपयोग करता है
  • फ़ाइल लॉक करना ताकि कोई और आपकी संपत्ति को अधिलेखित न करे
  • पुश और किसी से / को खींचो दूरस्थ रिपॉजिटरी
  • आप इसे यूनिटी एसेट स्टोर में भी डाउनलोड कर सकते हैं: https://assetstore.unity.com/packages/tools/version-control/github-for-unity-118069

5

केवल एसेट्स एंड प्रोजेक्टसेटिंग्स फ़ोल्डर्स को git संस्करण नियंत्रण में होना चाहिए।

आप इस तरह एक gitignore बना सकते हैं।

[Ll]ibrary/
[Tt]emp/
[Oo]bj/

# Autogenerated VS/MD solution and project files
*.csproj
*.unityproj
*.sln
*.suo
*.userprefs

# Mac
.DS_Store
*.swp
*.swo

Thumbs.db
Thumbs.db.meta

.vs/

3

एकता अपने स्वयं के स्रोत संस्करण नियंत्रण भी प्रदान करती है। unity5 से पहले यह unityAsset Server था लेकिन अब इसका मूल्यह्रास हो गया। और एक नया SVN कंट्रोल सिस्टम लॉन्च किया है जिसे एकता सहयोग करती है। लेकिन एकता का उपयोग करने वाली मुख्य समस्या है और कोई भी SVN सीन को कमिट और मर्ज कर रहा है। लेकिन नॉन ऑफ एसवीएन हमें इस तरह के संघर्षों या मर्ज सीन को हल करने का रास्ता देता है। इसलिए आप पर निर्भर है कि आप किस SVN से परिचित हैं। मैं मैक पर SmartSVN टूल का उपयोग कर रहा हूं। और खिड़कियों पर कछुआ।

यहाँ छवि विवरण दर्ज करें


1

बस Gitignore के सबजेट पर जोड़ रहा है। अनुशंसित तरीका केवल लाइब्रेरी और टेंप को अनदेखा करता है, यदि इसकी गिट प्रोजेक्ट की अपनी रूटीन है। यदि आप मेरे जैसे हैं और कभी-कभी रेपो का एक हिस्सा बनने के लिए एकता परियोजना की आवश्यकता होती है, तो रेपो के पूरे हिस्से की नहीं, गिटिगन में सही तार होंगे:

**/[Tt]emp
**/[Ll]ibrary
**/[Bb]uild

0

मैं किसी ऐसे व्यक्ति से एक बहुत ही सरल वर्कफ़्लो जोड़ना चाहता था जो अतीत में गिट से निराश हो चुका है। Git का उपयोग करने के कई तरीके हैं, शायद एकता के लिए सबसे आम हैं GitHub डेस्कटॉप, Git Bash और GitHub यूनिटी

https://assetstore.unity.com/packages/tools/version-control/github-for-unity-118069

अनिवार्य रूप से वे सभी एक ही काम करते हैं, लेकिन उपयोगकर्ता की पसंद। आप बड़ी फ़ाइल सेटअप के लिए git कर सकते हैं, जो 1GB मुक्त बड़ी फ़ाइल भंडारण की अनुमति देता है, जिसमें 50GB के लिए $ 4 / mo के लिए डेटा पैक में अतिरिक्त स्टोरेज उपलब्ध है, और यह आपको फ़ाइलों को धकेलने की अनुमति देगा> 100mb से दूरस्थ रिपॉजिटरी (यह वास्तविक फ़ाइलों को स्टोर करता है) सर्वर और आपके रेपो में एक पॉइंटर)

https://git-lfs.github.com/

यदि आप जो भी कारण आप फ़ाइलों के लिए अपनी परियोजनाओं को स्कैन कर सकते हैं के लिए lfs सेटअप नहीं करना चाहते हैं> टाइपिंग आकार में खिड़कियों में 128 एमबी: निर्देशिका में बड़ी है जहाँ आप अपनी परियोजना है। यह बड़ी फ़ाइलों को खोजने के लिए आसान हो सकता है, हालांकि 100mb और 128mb के बीच कुछ फाइलें हो सकती हैं जो छूट जाती हैं।

यहाँ छवि विवरण दर्ज करें

गिट बैश का सामान्य प्रारूप है

जोड़ देना। (कमिट की जाने वाली फाइलें जोड़ता है)

git कमिट-मै 'मैसेज' (मैसेज के साथ फाइल करता है, वे अभी भी आपके पीसी पर हैं न कि रिमोट रेपो में, मूल रूप से उन्हें एक नई कमिट के रूप में 'वर्जन' किया गया है)

git push (रिपॉजिटरी में फाइल पुश करें)

एकता परियोजनाओं के लिए गिट बैश का नुकसान यह है कि अगर कोई फ़ाइल> 100mb है, तो आपको धक्का देने तक कोई त्रुटि नहीं मिलेगी। फिर आपको अपने सिर को पिछली प्रतिबद्ध पर रीसेट करके अपनी प्रतिबद्धता को पूर्ववत करना होगा। एक परेशानी का प्रकार, खासकर यदि आप गिट बैश के साथ नए हैं।

GitHub डेस्कटॉप का लाभ, इससे पहले कि आप 100mb के साथ फाइल करें, यह आपको एक पॉपअप त्रुटि संदेश देगा। फिर आप उन फ़ाइलों को सिकोड़ सकते हैं या उन्हें एक .gitignore फ़ाइल में जोड़ सकते हैं।

.Gitignore फ़ाइल का उपयोग करने के लिए, अपने स्थानीय रिपॉजिटरी रूट डायरेक्टरी में .gitignore नामक फ़ाइल बनाएँ। बस फ़ाइलों को एक बार में एक पंक्ति में जोड़ें जिसे आप छोड़ना चाहते हैं। SharedAssets और अन्य गैर-एसेट फ़ोल्डर फ़ाइलें आमतौर पर छोड़ी जा सकती हैं और स्वचालित रूप से संपादक में पुन: जमा हो जाएंगी (पैकेज फिर से आयात किए जा सकते हैं आदि)। आप फ़ाइल प्रकारों को बाहर करने के लिए वाइल्डकार्ड का उपयोग भी कर सकते हैं।

यदि अन्य लोग आपके GitHub रेपो का उपयोग कर रहे हैं और आप क्लोन या खींचना चाहते हैं, तो आपके पास वे विकल्प उपलब्ध हैं जो GitHub डेस्कटॉप या Git bash पर उपलब्ध हैं।

मैंने यूनिटी गिटहब पैकेज के बारे में ज्यादा उल्लेख नहीं किया है जहाँ आप संपादक में गिटहब का उपयोग कर सकते हैं क्योंकि व्यक्तिगत रूप से मुझे इंटरफ़ेस बहुत उपयोगी नहीं लगा, और मुझे नहीं लगता कि कुल मिलाकर किसी को भी गिट से परिचित होने में मदद मिलेगी, लेकिन यह सिर्फ मेरा है वरीयता।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.