আপনি কোকোপড ব্যবহার করছেন যদি আপনার .gitignore মধ্যে যায়?


388

আমি এখন কয়েক মাস ধরে আইওএস বিকাশ করছি এবং নির্ভরতা পরিচালনার জন্য প্রতিশ্রুতিবদ্ধ কোকোপডস গ্রন্থাগারটি শিখেছি ।

আমি একটি ব্যক্তিগত প্রকল্প তে এটি চেষ্টা: একটি নির্ভরতা যোগ কিউই আমার Podfile, দৌড়ে pod install CocoaPodsTest.xcodeproj, এবং , voila , এটা কাজ করে মহান।

আমি কেবল অবাক হয়েই থাকি: আমি কী চেক ইন করব এবং সংস্করণ নিয়ন্ত্রণের জন্য আমি কী উপেক্ষা করব? এটা স্পষ্ট বলে মনে হয় যে আমি নিজেই পডফাইলে এবং সম্ভবত .xcworkspace ফাইলটি পরীক্ষা করতে চাই; তবে আমি কী পড / ডিরেক্টরি উপেক্ষা করব? রাস্তায় উত্পন্ন হবে এমন অন্যান্য ফাইল রয়েছে (যখন আমি অন্যান্য নির্ভরতা যুক্ত করি) তখন আমার আমার .gitignore এও যুক্ত করা উচিত?

উত্তর:


261

ব্যক্তিগতভাবে আমি পড ডিরেক্টরি এবং বিষয়বস্তুগুলিতে যাচাই করি না। এর প্রভাবগুলি বিবেচনা করে আমি দীর্ঘ যুগ অতিবাহিত করতে পারি না তবে আমার যুক্তি এমন:

পোডফিল একটি নির্দিষ্ট ট্যাগ বা প্রতিটি নির্ভরতার কমিটিকে বোঝায় যাতে পোডগুলি নিজেরাই পোডফিল থেকে উত্পন্ন হতে পারে, তবে তারা উত্সের চেয়ে মধ্যবর্তী বিল্ড পণ্যটির মতো আরও বেশি এবং তাই, আমার প্রকল্পে সংস্করণ নিয়ন্ত্রণের প্রয়োজন হয় না।


70
এটি উল্লেখযোগ্য হতে পারে যে কোকোপডস প্রকল্পটি উদাহরণস্বরূপ পডস ডিরেক্টরিটিকে উপেক্ষা করে ।
জোশেপওয়ার্থ

34
আমি পডফিল.লক ফাইলটি যুক্ত করার বিষয়টি বিবেচনা করব, কারণ আপনি নির্দিষ্ট রচনাগুলির জন্য কোন লাইব্রেরি ব্যবহার করেছেন তা ঠিক রেকর্ড করে রেখেছেন এবং অন্যান্য দলের সদস্যদের জন্য ঠিক এটি পুনরুত্পাদন করতে পারবেন। "আপনি X এর কোন সংস্করণ ব্যবহার করছেন" জিজ্ঞাসা করা খুব বিরক্তিকর হতে পারে। এখানে রুবি জেমফিল সমতুল্য সম্পর্কে একটি ভাল আলোচনা করা হয়েছে: yehudakatz.com/2010/12/16/…
ম্যাট কনোলি

12
আপনি পডফিল.কোন প্রতিশ্রুতিবদ্ধ তা আমি বুঝতে পারি না, আপনি ঠিক কী সংস্করণগুলির উপর নির্ভর করছেন সে সম্পর্কে আপনার পোডফাইলে আরও নির্দিষ্ট হওয়া উচিত নয়? আমি কি বুঝতে পারছি না?
মাইকেল বাল্টাকস

9
আমি এটি কীভাবে দেখছি তা এখানে: আপনার পডফিল যদি প্রতিটি পডের সঠিক সংস্করণ নির্দিষ্ট করে তবে আপডেটগুলি পাওয়ার একমাত্র উপায় হল আপডেটগুলি জানা এবং ম্যানুয়ালি সেগুলি নির্দিষ্ট করা। এটি জনপ্রিয় বা মিশন-সমালোচনামূলক অ্যাপ্লিকেশনটির জন্য পছন্দনীয় হতে পারে। পূর্ববর্তী বিকাশের জন্য, গুরুত্বপূর্ণ আপডেটগুলি আসা খুব সহজ যদি আপনি পডফাইলে আলাদা হন তবে এটি আপডেট হওয়ার পরে লক করুন এবং তারপরে সিদ্ধান্ত নিন আপনি আপডেটগুলি চান কিনা, যা আপনি সম্ভবত বেশিরভাগ সময়ই করেন।
ডেভিডকভস্কি

43
এটি উল্লেখ করা জরুরী Podfile.lock: সংস্করণ নিয়ন্ত্রণের অধীনে থাকার পরামর্শ দেওয়া হওয়ায় এটিকে কোকোপডস ডেকে আনে।
1:34 এ cbowns

383

আমি আমার পড ডিরেক্টরি পরিচালনা করি। আমি সম্মত হই না যে পডস ডিরেক্টরিটি একটি বিল্ড আর্টফ্যাক্ট। আসলে আমি বলতে চাই এটি অবশ্যই না। এটি আপনার অ্যাপ্লিকেশন উত্সের অংশ: এটি ছাড়া এটি তৈরি হবে না!

কোকোপডগুলি বিল্ড সরঞ্জামের চেয়ে বিকাশকারী সরঞ্জাম হিসাবে ভাবা আরও সহজ। এটি আপনার প্রকল্প তৈরি করে না, এটি কেবল আপনার জন্য নির্ভরতাগুলি ক্লোন করে এবং ইনস্টল করে। আপনার প্রকল্পটি সহজেই তৈরি করতে সক্ষম হতে কোকোপডগুলি ইনস্টল করা দরকার হবে না।

কোকোপডগুলি আপনার বিল্ডের নির্ভরতা তৈরি করে এখন আপনার প্রকল্পটি বানাতে আপনার প্রয়োজন হতে পারে এটি এখনই নিশ্চিত করা দরকার ... একটি টিম প্রশাসকের এটি প্রয়োজন, আপনার সিআই সার্ভারের এটির প্রয়োজন। আপনার, একটি নিয়ম হিসাবে, সর্বদা আপনার উত্স সংগ্রহস্থলটিকে ক্লোন করতে এবং কোনও প্রচেষ্টা ছাড়াই তৈরি করতে সক্ষম হওয়া উচিত।

আপনার পডস ডিরেক্টরিটি না করাও যদি আপনি ঘন ঘন শাখাগুলি স্যুইচ করেন তবে একটি বিশাল মাথাব্যথা তৈরি করে। আপনার নির্ভরতা সঠিক কিনা তা নিশ্চিত করতে এখন আপনাকে যখনই শাখাগুলি স্যুইচ করা হবে তখন পড ইনস্টল চালানো দরকার। আপনার নির্ভরতা স্থিতিশীল হওয়ায় এটি কম ঝামেলা হতে পারে তবে কোনও প্রকল্পের প্রথম দিকে এটি একটি বিশাল সময়ের ডুবে যায়।

তো, আমি কী উপেক্ষা করব? কিছুই নেই। পডফিল, লক ফাইল এবং পড ডিরেক্টরি সমস্ত প্রতিশ্রুতিবদ্ধ হয়। বিশ্বাস করুন, এটি আপনাকে অনেক ঝামেলা বাঁচাবে। কনস কি? কিছুটা বড় রেপো? জগতের নয় শেষ।


33
এটি অবশ্যই কোকোপডগুলি ব্যবহার করার উপায়। এটি কেবল আপনার উত্সের একটি অংশই নয় কারণ আপনি এটি ব্যতীত তৈরি করতে পারবেন না, তবে আপনার "মূল অ্যাপ্লিকেশন "টি প্রায়শই কোকোপডসে কোডের সাথেও মিশ্রিত হয়। কোনও পোডের ঠিক কোন সংস্করণটি ব্যবহৃত হচ্ছে তা জানার জন্য সংস্করণটির জন্য খুব গুরুত্বপূর্ণ, এবং লকফিল ব্যবহার করে এটি কাটবে না।
জোশুয়া গ্রস

35
শাখাটি স্যুইচ করার সময় এবং সময়ে ফিরে যাওয়ার সময় সহজ ... এটি একটি বিশাল যুক্তি।
মনসিয়রডার্ট

5
হ্যাঁ, আমি এটি আরও বিশদভাবে জানাতে পারতাম, তবে আমার কাছে আপনার রেপিতে একটি প্রতিশ্রুতি সময়মতো আপনার উত্সের একটি স্ন্যাপশটের প্রতিনিধিত্ব করে এবং যদি আপনি আপনার পডস ডিরেক্টরিটি প্রতিশ্রুতিবদ্ধ না করেন তবে সেই স্ন্যাপশটের একটি বড় অংশ অনুপস্থিত। আপনি আপনার পড সংস্করণগুলি খুব নির্দিষ্ট করে এটিকে প্রশমিত করতে পারেন তবে এটিও বিবেচনা করুন ... আপনি যদি আপনার কোনও পড আপডেট করেন, যদি আপনার পোডগুলি আপনার রেপোতে থাকে, তবে সেই আপডেটটি কোনও প্রতিশ্রুতিতে ক্যাপচার করা হবে এবং সম্পূর্ণরূপে পৃথক হবে। যদি কোনও পড আপডেট করার ফলে কোনও ত্রুটির সৃষ্টি হয় তবে আপনি আরও সহজেই দেখতে পাচ্ছেন যে অন্তর্নিহিত পরিবর্তনটি কেন আপনার নিজস্ব রেপোতে বন্দী হয়েছে।
লুক রেডপাথ

5
আমি মনে করি এটি স্পষ্ট হয়ে গেছে এটি এখন ব্যক্তিগত স্বাদের বিষয়। সিমাসের মতো লোকেরা এখন বিতর্ককে মেরুকরণ করছে ... এটি বলা ঠিক নয় যে Podsডিরেক্টরিটি অন্তর্ভুক্ত না করা আপনার ব্যথার কারণ হয়ে দাঁড়ায়, এটির পরীক্ষা করে নেওয়ার সময় এটির নিজস্ব সমস্যার একটি বান্ডিলও আসে। উদাহরণস্বরূপ কোনও বিকাশকারী পডসের Podfileআপডেট হওয়া উত্সগুলি পরীক্ষা করার কথা মনে না রেখে কোনও নির্ভরতার একটি সংস্করণকে আটকায়। মারফি আইন। pod installপ্রতিবার আপনি যখন শাখাটি স্যুইচ করেন তখন আপনার মূল্য হয় ... দশ সেকেন্ডের দশক - তবে এটি সেই শ্রেণির সমস্যাগুলি পুরোপুরি দূর করে।
ফতুহোকু

14
It won't build without it!আপনি পাশাপাশি এক্সকোডও প্রতিশ্রুতিবদ্ধ হতে পারেন
সৌরভ

155

আমি গিটহাবের উদ্দেশ্য-সি গিটিগনোর ব্যবহার করার পরামর্শ দিচ্ছি । বিস্তারিতভাবে, সর্বোত্তম অনুশীলনগুলি হ'ল:

  • Podfile অবশ্যই সর্বদা উত্স নিয়ন্ত্রণে থাকা উচিত
  • Podfile.lock অবশ্যই সর্বদা উত্স নিয়ন্ত্রণে থাকা উচিত
  • কোকোপডস দ্বারা উত্পাদিত ওয়ার্কস্পেস উত্স নিয়ন্ত্রণে রাখা উচিত
  • কোন শুঁটি সঙ্গে রেফারেন্সড :pathবিকল্প উচিত উৎস নিয়ন্ত্রণে রাখতে হবে।
  • ./Podsফোল্ডারের করতে উৎস নিয়ন্ত্রণে রাখতে হবে।

আরও তথ্যের জন্য আপনি অফিসিয়াল গাইড পড়তে পারেন ।

উত্স: আমি @ কোলকের মতো কোকোপডস কোর দলের একজন সদস্য


যদিও পডস ফোল্ডারটি হ'ল বিল্ড আর্টিক্ট তবে এমন কারণ রয়েছে যা আপনি উত্সকে নিয়ন্ত্রণে রাখার জন্য ওয়েথারের সিদ্ধান্ত নেওয়ার সময় বিবেচনা করতে পারেন:

  • কোকোপডস কোনও প্যাকেজ পরিচালক নয় তাই গ্রন্থাগারের মূল উত্সটি ভবিষ্যতে লেখক দ্বারা মুছে ফেলা হতে পারে।
  • যদি পডস ফোল্ডারটি উত্স নিয়ন্ত্রণে অন্তর্ভুক্ত করা হয়, তবে প্রকল্পটি চালানোর জন্য কোকোপডগুলি ইনস্টল করার প্রয়োজন নেই কারণ চেকআউটটি যথেষ্ট।
  • কোকোপডস এখনও কাজ চলছে এবং এমন বিকল্প রয়েছে যা সর্বদা একই ফলাফলের দিকে না যায় (উদাহরণস্বরূপ :headএবং :gitবিকল্পগুলি বর্তমানে সঞ্চিত কমিটগুলি ব্যবহার করছে না Podfile.lock)।
  • ব্যর্থতার কম পয়েন্ট রয়েছে যদি আপনি মাঝারি / দীর্ঘ সময়ের পরে কোনও প্রকল্পের কাজ আবার শুরু করতে পারেন।

5
ওয়ার্কস্পেস ফাইল রাখার ঝামেলা কেন? এটি যাইহোক কোকোপডস দ্বারা উত্পাদিত।
ফতুহোকু

1
@ ফাতুহোকু আমার অভিজ্ঞতায় কোকোপডস-অন্ধ ক্রমাগত-সংহতকরণ পরীক্ষার সার্ভারগুলির জন্য। আমি এগুলি সবই পরীক্ষা করে দেখি কারণ আমার সিআই হোস্টের (ব্যবসায়িক নিয়ম) বিল্ড স্ক্রিপ্টটিতে আমার অ্যাক্সেস নেই এবং কোকোপডগুলি একটি বিকাশকারী সরঞ্জাম হিসাবে ব্যবহার করে, বিল্ড সিস্টেম বা প্যাকেজ ম্যানেজার হিসাবে নয়।
কোডপয়েট

1
./ পড ফোল্ডারটি কোকোপডস দ্বারা উত্স নিয়ন্ত্রণে রাখা উচিত নয় (এটি স্বয়ংক্রিয়ভাবে উত্পন্ন হয়)। পডস ফোল্ডারটি বিল্ড প্রক্রিয়াটির একটি প্রত্নক্ষেত্র। কোকোপডস সহ অন্যান্য প্রকল্প পরিচালনা না করা থাকলে কর্মক্ষেত্রটি উত্স নিয়ন্ত্রণ থেকেও সরানো যেতে পারে।
ভ্লাদ

আমি মনে করি এটি পরীক্ষা করে নেওয়া উচিত কারণ প্রতিবার আমি একটি টান দেওয়ার সময় কোনও পোড ইনস্টল করতে ব্যথা হয়।
এমএসকিডাব্লু

45

.gitignore ফাইল

কোনও উত্তর আসলে একটি সরবরাহ করে না .gitignore, সুতরাং এখানে দুটি স্বাদ দেওয়া হয়েছে।


পড ডিরেক্টরিতে পরীক্ষা করা হচ্ছে ( উপকারিতা )

এক্সকোড / আইওএস বন্ধুত্বপূর্ণ গিট উপেক্ষা করুন, ম্যাক ওএস সিস্টেম ফাইলগুলি এড়িয়ে যাওয়া, এক্সকোড, বিল্ডস, অন্যান্য সংগ্রহস্থল এবং ব্যাকআপ।

.gitignore:

# Mac OS X Finder
.DS_Store

# Private Keys
*.pem

# Xcode legacy
*.mode1
*.mode1v3
*.mode2v3
*.perspective
*.perspectivev3
*.pbxuser

# Xcode
xcuserdata/
project.xcworkspace/
DerivedData/

# build products
build/
*.[oa]

# repositories
.hg
.svn
CVS

# automatic backup files
*~.nib
*.swp
*~
*(Autosaved).rtfd/
Backup[ ]of[ ]*.pages/
Backup[ ]of[ ]*.key/
Backup[ ]of[ ]*.numbers/

পড ডিরেক্টরি উপেক্ষা ( সুবিধা )

.gitignore: (পূর্ববর্তী তালিকায় যোগ করুন)

# Cocoapods
Pods/

আপনি পডস ডিরেক্টরিটি পরীক্ষা করে দেখুন বা না, পডফিল এবং পডফিল.লক সর্বদা সংস্করণ নিয়ন্ত্রণে রাখা উচিত।

যদি Podsচেক-ইন না করা থাকে তবে আপনার Podfileসম্ভবত প্রতিটি কোকোপডের জন্য সুস্পষ্ট সংস্করণ নম্বরগুলির জন্য অনুরোধ করা উচিত। কোকোপডস.আর্গ আলোচনা এখানে


38

আমি সাধারণত ক্লায়েন্টদের অ্যাপে কাজ করি। সেক্ষেত্রে আমি রেপিতে পডস ডিরেক্টরিটিও যুক্ত করি, যাতে নির্ধারিত সময়ে যে কোনও বিকাশকারী একটি চেকআউট করতে পারে এবং বিল্ড এবং রান করতে পারে।

যদি এটি আমাদের নিজস্ব একটি অ্যাপ্লিকেশন হয় তবে আমি সম্ভবত পড ডিরেক্টরিটি বাদ দিই যতক্ষণ না আমি এতে কিছুক্ষণ কাজ করব না।

প্রকৃতপক্ষে, আমি অবশ্যই এই সিদ্ধান্তে উপনীত হব যে আমি আপনার প্রশ্নের উত্তর দেওয়ার জন্য সেরা ব্যক্তি হতে পারি না, খাঁটি ব্যবহারকারীর দৃষ্টিভঙ্গি :) এই প্রশ্নটি সম্পর্কে আমি https://twitter.com/CocoaPodsOrg থেকে টুইট করব ।


আমি এটিকেও প্রতিধ্বনি করতাম। পডস ফোল্ডারে যাচাই করে আপনার অন্যান্য বিকাশকারীদের এটি ব্যবহার করার প্রয়োজন ছাড়াই আপনি কোকোপডগুলি ব্যবহার করতে পারেন। একবার কোকোপডস সর্বব্যাপী হয়ে উঠলে, শুঁটি রত্নগুলির সমান হবে, আপনি যে একই পরিমাণে "বিক্রেতার" রুবি রত্ন চাইতেন সেগুলিও তাদের পরীক্ষা করে দেখবেন।
বেন স্কিমারান

2
আমি মনে করি যে কারও কাছে পোড বা পড ইউটিলিটি (ভাল সংস্করণ) নাও পাওয়া যেতে পারে consider আরও বেশি, যদি বিভিন্ন পড ইউটিলিটি সংস্করণ সহ দুটি ব্যবহারকারী একই পডস্পেকের জন্য ইউটিলিটিটি চালায় তবে আউটপুট আলাদা হতে পারে।
অ্যাড্রিয়ান

1
চেকআউট, বিল্ড এবং রান সবচেয়ে গুরুত্বপূর্ণ বিবেচনা। আপনি কেন আপনার বিল্ড এবং কোনও বাহ্যিক কারণের উপর নির্ভরশীল তৈরির ক্ষমতা তৈরি করবেন? আমি সমস্ত পোড চেক। আপনি অন্য বিকাশকারীদের (বা আপনার ভবিষ্যতের স্ব) সঠিক পোডগুলির সন্ধানের ঘন্টা সংরক্ষণ করতে পারেন। আমি তাদের উভয় চেক করার জন্য কোন ডাউনসাইড দেখতে পাচ্ছি না।
n13

18

আমি সব কিছু যাচাই করে নিই। ( Pods/এবং Podfile.lock।)

আমি সংগ্রহস্থলটিকে ক্লোন করতে সক্ষম হতে এবং জানতে চাই যে অ্যাপটি গতবার ব্যবহার করার পরে সবকিছু ঠিক যেমন কাজ করবে।

আমি বরং জিনিসের ভিন্ন ভিন্ন সংস্করণে বা পডের সংগ্রহস্থলে ইতিহাসের পুনর্লিখন ইত্যাদির কারণে বিভিন্ন ফলাফল হওয়ার ঝুঁকির চেয়ে জিনিসগুলি বিক্রেতাকে পছন্দ করতাম


4
এটি করার জন্য অন্যান্য দুর্দান্ত জিনিসটি একটি আপডেটের পরে, আপনি যাচাই করার আগে ডিফের দিকে নজর দিতে পারেন এবং শুঁটিতে কী ফাইলগুলি পরিবর্তিত হয়েছে তা দেখতে পারেন।
ফেনারল

2
অতিরিক্তভাবে, আপনার প্রকল্পে আপনার সমস্ত বিকাশকারীদের কোকোপডগুলি ইনস্টল করার প্রয়োজন নেই (আপনি কে / কীভাবে নির্ভরতা যুক্ত এবং আপডেট করা হয় তা নিয়ন্ত্রণ করতে চাইলে এটি ভাল জিনিস হতে পারে)।
টনি আর্নল্ড

18

এর উত্তরটি সরাসরি কোকোপড ডক্সে দেওয়া আছে। আপনি " http://guides.cocoapods.org/using/used-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control " এ দেখতে পারেন

আপনার পডস ফোল্ডারে চেক করা বা না করা আপনার উপর নির্ভর করে, কারণ কর্মপ্রবাহগুলি প্রকল্পের পরিবর্তে প্রকল্পে পরিবর্তিত হয়। আমরা আপনাকে পড ডিরেক্টরিটি উত্স নিয়ন্ত্রণে রাখার পরামর্শ দিচ্ছি এবং এটি আপনার .gitignore এ যুক্ত করবেন না। তবে শেষ পর্যন্ত এই সিদ্ধান্তটি আপনার উপর নির্ভর করে:

পড ডিরেক্টরিতে পরীক্ষা করার সুবিধা

  • রেপো ক্লোনিংয়ের পরে, মেশিনে কোকোপড ইনস্টল না করেও প্রকল্পটি তত্ক্ষণাত্ বিল্ড এবং চলতে পারে। পড ইনস্টল চালানোর দরকার নেই এবং কোনও ইন্টারনেট সংযোগের প্রয়োজন নেই।
  • পডের শিল্পকর্মগুলি (কোড / লাইব্রেরি) সর্বদা উপলভ্য থাকে, এমনকি কোনও পডের উত্স যেমন (যেমন: গিথহাব) নিচে যেতে হয়।
  • পোড শৈল্পিকাগুলি রেপো ক্লোনিংয়ের পরে মূল ইনস্টলিংয়ের সাথে অভিন্ন হওয়ার গ্যারান্টিযুক্ত।

পড ডিরেক্টরি উপেক্ষা করার সুবিধা

  • উত্স নিয়ন্ত্রণ রেপো ছোট হবে এবং কম স্থান গ্রহণ করবে।

  • যতক্ষণ না সমস্ত পডের উত্স (যেমন গিটহাব) উপলব্ধ থাকে ততক্ষণ কোকোপডস সাধারণত একই ইনস্টলেশনটি পুনরায় তৈরি করতে সক্ষম হয়। (প্রযুক্তিগতভাবে কোনও গ্যারান্টি নেই যে পড ইনস্টল চলমান পোডফাইলে কোনও কমিট এসএইচএ ব্যবহার না করার সময় অভিন্ন শৈলীগুলি আনবে এবং পুনরায় তৈরি করবে P পোডফাইলে জিপ ফাইলগুলি ব্যবহার করার সময় এটি বিশেষভাবে সত্য)

  • উত্স নিয়ন্ত্রণ অপারেশনগুলি সম্পাদন করার সময় কোনও দ্বন্দ্ব হবে না যেমন বিভিন্ন পড সংস্করণে শাখা মার্জ করা।

আপনি পডস ডিরেক্টরিটি পরীক্ষা করে দেখুন বা না, পডফিল এবং পডফিল.লক সর্বদা সংস্করণ নিয়ন্ত্রণে রাখা উচিত।


13

আমি এমন বিকাশকারীদের শিবিরে আছি যারা গ্রন্থাগারগুলি চেক করে না, ধরে নিয়ে আমাদের কাছে অন্য কোনও জায়গায় ভাল কপি পাওয়া যায়। সুতরাং, আমার .gitignore এ আমি কোকোপডসের সাথে সম্পর্কিত নিচের লাইনগুলি অন্তর্ভুক্ত করছি:

Pods/
#Podfile.lock  # changed my mind on Podfile.lock

তারপরে আমি নিশ্চিত করে নিই যে আমাদের কাছে নিরাপদ স্থানে লাইব্রেরিগুলির একটি অনুলিপি রয়েছে। নির্ভরতা (সংকলিত বা না) সঞ্চয় করার জন্য (ভুল) প্রজেক্টের কোড সংগ্রহস্থল ব্যবহার করার পরিবর্তে আমার মনে হয় এটি করার সর্বোত্তম উপায়টি আর্কাইভ বিল্ডিং। আপনি যদি আপনার বিল্ডগুলির জন্য সিআই সার্ভার ব্যবহার করেন (যেমন জেনকিন্স) আপনি আপনার পক্ষে গুরুত্বপূর্ণ যে কোনও বিল্ড স্থায়ীভাবে সংরক্ষণাগারভুক্ত করতে পারেন। আপনি যদি আপনার স্থানীয় উত্পাদনগুলি সমস্ত স্থানীয় কোডকোডে করেন তবে আপনার যে কোনও বিল্ডিং রাখতে হবে তার জন্য আপনার প্রকল্পের সংরক্ষণাগার নেওয়ার অভ্যাস করুন। এর মতো কিছু: 1. পণ্য -> সংরক্ষণাগার

  1. বিতরণ করুন ... আইওএস অ্যাপ স্টোরে জমা দিন / এন্টারপ্রাইজ বা অ্যাড-হক ডিপোমেন্ট / আপনার কী আছে সেভ করুন

  2. আপনার প্রোজেক্ট ফোল্ডারটি ফাইন্ডারে প্রকাশ করুন

  3. ডান ক্লিক করুন এবং "যে কোনও প্রকল্প" সঙ্কুচিত করুন

এটি কোপোপডগুলি ব্যবহার করে কিনা বা না ব্যবহার করে অ্যাপ্লিকেশনটি নির্মাণ করতে ব্যবহৃত পুরো প্রকল্প এবং ওয়ার্কস্পেস সেটিংসের পাশাপাশি বাইনারি বিতরণগুলি (যেমন স্পার্কল, মালিকানাধীন এসডিকে ইত্যাদি) সহ পুরো প্রকল্পের একটি বিল্ট ইমেজ সরবরাহ করে।

আপডেট: আমি এটি সম্পর্কে আমার মন পরিবর্তন করেছি এবং এখন Podfile.lockউত্স নিয়ন্ত্রণে প্রতিশ্রুতিবদ্ধ। যাইহোক, আমি এখনও বিশ্বাস করি যে শুঁটিগুলি নিজেরাই নিদর্শনগুলি তৈরি করে এবং উত্স নিয়ন্ত্রণের বাইরে যেমন আপনার সিআই সার্ভার বা আর্কাইভ প্রক্রিয়া যেমন আমি উপরে বর্ণনা করেছি তার মাধ্যমে পরিচালনা করা উচিত।


23
কোকোপডস বিশেষভাবে চেক করার পরামর্শ দেয় Podfile.lock: ডকস.কোপোডস.আর
ওয়ার্কিং_উইথ_টেমস

মজাদার. যেহেতু Podfile.lockস্থানীয় পোডগুলিতে পাথগুলি বেক করা হয়েছে, তাই আমি এটি সংস্করণ নিয়ন্ত্রণে যুক্ত করার বিষয়টি বিবেচনা করি নি। যাইহোক, এখন আমি এটি সম্পর্কে চিন্তাভাবনা করি, তবে আমি যে স্থানীয় পরিবর্তনগুলি করি তা Podfileকিন্তু এটি কখনও প্রতিশ্রুতিবদ্ধ না থেকে আলাদা নয় । এই বিষয়টি চিহ্নিত করার জন্য ধন্যবাদ.
অ্যালেক্স নওদা

দলের লিঙ্কের সাথে কাজ করে কি এই পরিবর্তন হয়েছে? এটি Podfile.lockফাইল সম্পর্কে কিছুই উল্লেখ করে ।
ingh.am

4
@ ing0 আমি মনে করি যে নতুন লিঙ্কটি এটির এক
ফাই

পোডফিল.লকটিতে যাচাইয়ের সুবিধাটি হ'ল এটি স্পষ্ট হয় যে আপনার কোনও পোড বা তাদের নির্ভরতা আপগ্রেড করা হয়েছে।
টিম পটার

11

আমি সংগঠনের পছন্দ Podsবরাবর ডিরেক্টরি Podfileএবং Podfile.lockআমার দলে নিশ্চিত যে কেউ উৎস যে কোন সময় চেকআউট পারেন তা নিশ্চিত করতে হবে এবং তারা কিছু সম্পর্কে চিন্তা করতে হবে বা এটি কাজ করা অতিরিক্ত কাপড় করবেন না।

এটি এমন একটি দৃশ্যেও সহায়তা করে যেখানে আপনি কোনও একটি শুঁটির ভিতরে একটি বাগ স্থির করেছেন বা আপনার প্রয়োজন অনুযায়ী কিছু আচরণ পরিবর্তন করেছেন তবে প্রতিশ্রুতিবদ্ধ না হলে এই পরিবর্তনগুলি অন্য মেশিনে উপলব্ধ হবে না।

এবং অপ্রয়োজনীয় ডিরেক্টরি উপেক্ষা:

xcuserdata/

10

আমার অবশ্যই বলতে হবে, আমি পডসকে ভান্ডারটিতে প্রতিজ্ঞার ভক্ত। ইতিমধ্যে উল্লিখিত লিঙ্কটি অনুসরণ করা আপনাকে পোডগুলির জন্য অনুমতি দেওয়ার জন্য আইওএসের জন্য আপনার এক্সকোড প্রকল্পগুলি পেতে একটি ভাল .gitignore ফাইল দেবে তবে আপনি যদি চান তবে সহজেই সেগুলি বাদ দিতেও পারেন: https://github.com/github/gitignore/ ফোঁটা / মাস্টার / উদ্দেশ্য C.gitignore

ভান্ডারটিতে পডস যুক্ত করার অনুরাগী হওয়ার আমার যুক্তি একটি মূল কারণ যা কেউ মনে করছে না যে, আমাদের প্রকল্পটির উপর নির্ভরশীল কোনও লাইব্রেরি হঠাৎ করে ওয়েব থেকে সরিয়ে ফেললে কী হবে?

  • হতে পারে হোস্ট তাদের সিদ্ধান্ত নিয়েছে যে তারা আর তাদের গিটহাব অ্যাকাউন্টটি উন্মুক্ত রাখতে চাইবে না যদি গ্রন্থাগারটি কয়েক বছরের পুরানো বলে দেওয়া হয় (উদাহরণস্বরূপ 5 বছরেরও বেশি বয়সী) প্রকল্পের উত্সটিতে আর উপলব্ধ না হওয়ার উচ্চ ঝুঁকি রয়েছে
  • এছাড়াও আরেকটি বিষয়, যদি URL এর সংগ্রহস্থল পরিবর্তন হয় তবে কী হবে? আসুন বলতে দিন যে ব্যক্তিটি তাদের গিটহাব অ্যাকাউন্ট থেকে পডকে পরিবেশন করছে, সে নিজেকে আলাদা হ্যান্ডেলের অধীনে উপস্থাপন করার সিদ্ধান্ত নেয় - আপনার পডের ইউআরএলগুলি ভেঙে যাচ্ছে।
  • অবশেষে অন্য একটি বিষয়। আপনি যদি আমার মতো বিকাশকারী হন তবে যিনি দেশের মধ্যে কোনও ফ্লাইটে প্রচুর কোডিং করেন। আমি 'মাস্টার' শাখায় একটি দ্রুত টানছি, বিমানবন্দরে বসে এই শাখায় একটি পড ইনস্টল করব এবং আসন্ন 8 ঘন্টা বিমানের জন্য নিজেকে প্রস্তুত করে রেখেছি। আমি আমার ফ্লাইটে 3 ঘন্টা পেয়েছি এবং বুঝতে পারি যে আমার অন্য একটি শাখায় স্যুইচ করা দরকার .... 'ডিওএইচ' - অনুপস্থিত পডের তথ্য যা কেবলমাত্র 'মাস্টার' শাখায় উপলভ্য।

এনবি ... দয়া করে নোট করুন যে উন্নয়নের জন্য 'মাস্টার' শাখা কেবল উদাহরণের জন্য, স্পষ্টতই সংস্করণ নিয়ন্ত্রণ ব্যবস্থায় 'মাস্টার' শাখাগুলি যে কোনও সময় পরিষ্কার এবং স্থাপনযোগ্য / বিল্ডেবল রাখতে হবে

আমি এগুলি থেকে মনে করি, আপনার কোড সংগ্রহস্থলের স্ন্যাপশটগুলি অবশ্যই সংগ্রহস্থলের আকারের চেয়ে কঠোর হওয়ার চেয়ে ভাল। এবং ইতিমধ্যে উল্লিখিত হিসাবে, পডফিল.লক ফাইল - সংস্করণ নিয়ন্ত্রিত হওয়ার সাথে সাথে আপনাকে পড সংস্করণগুলির একটি ভাল ইতিহাস দেওয়া হবে।

দিনের শেষে, যদি আপনার কাছে একটি চূড়ান্ত সময়সীমা থাকে, একটি শক্ত বাজেট থাকে, তবে সময়টি সারমর্ম হয় - আমাদের যথাসম্ভব যথোপযুক্ত হতে হবে এবং কঠোর আদর্শের উপর সময় নষ্ট করা উচিত নয়, এবং পরিবর্তে একসাথে কাজ করার জন্য সরঞ্জামগুলির একটি সেটকে কাজে লাগানো দরকার we - আমাদের জীবন আরও সহজতর করতে।


2
বয়সবিহীন প্রশ্নের "আমি কি উত্স নিয়ন্ত্রণে আমার নির্ভরতাগুলি পরীক্ষা করি" এর সেরা উত্তরগুলির মধ্যে একটি। প্রথমে, আপনি আপনার যুক্তির জন্য একটি আসল কংক্রিট, ঝুঁকি-ভিত্তিক, ব্যবসায়ের ন্যায্যতা ব্যাখ্যা করেন। দ্বিতীয়ত, আপনি সকলকে মনে করিয়ে দিন যে দিনের শেষে, কাজটি যেভাবেই ঘটে এবং লোকেরা একসাথে কাজ করে সেটাই সর্বোত্তম সমাধান। আপনি সমীকরণ থেকে ধর্ম সরিয়ে দিন। সুন্দর কাজ!
ব্র্যান্ডন

8

শেষে আপনি গ্রহণ করা পদ্ধতির উপর নির্ভর করে।

কোকোপডস টিম এটি সম্পর্কে যা চিন্তা করে:

আপনার পডস ফোল্ডারে চেক করা বা না করা আপনার উপর নির্ভর করে, কারণ কর্মপ্রবাহগুলি প্রকল্পের পরিবর্তে প্রকল্পে পরিবর্তিত হয়। আমরা আপনাকে পড ডিরেক্টরিটি উত্স নিয়ন্ত্রণে রাখার পরামর্শ দিচ্ছি এবং এটি আপনার .gitignore এ যুক্ত করবেন না। তবে শেষ পর্যন্ত এই সিদ্ধান্ত আপনার উপর নির্ভর করে।

ব্যক্তিগতভাবে আমি রাখতে চাই Pods আউট, যেমন node_modules যদি আমি ব্যবহার করা হয়েছে নোড বা bower_components যদি আমি ব্যবহার করছেন সেটি আবাস । এটি প্রায় কোনও নির্ভরশীল ব্যবস্থাপকের জন্য প্রযোজ্য এবং এটি গিট সাবমডিউলগুলির পাশাপাশি দর্শন ।

তবে মাঝে মধ্যে এমন কিছু আছে যে আপনি কোনও নির্দিষ্ট নির্ভরতার অত্যাধুনিক শিল্প সম্পর্কে সত্যই নিশ্চিত হতে চাইতে পারেন , এইভাবে আপনি আপনার প্রকল্পের মধ্যে নির্ভরতা বহন করছেন। অবশ্যই এটির জন্য বেশ কয়েকটি ত্রুটি রয়েছে যা আপনি যদি এটি করেন তবে তা উদ্বেগগুলি কেবল কোকোপডগুলিতেই প্রযোজ্য না, সেগুলি যে কোনও নির্ভরতা পরিচালকের ক্ষেত্রে প্রযোজ্য।

নীচে কোকোপডস টিম দ্বারা তৈরি একটি ভাল পেশাদার / কনস তালিকা রয়েছে, এবং পূর্বে উল্লিখিত উদ্ধৃতিটির সম্পূর্ণ পাঠ্য রয়েছে।

কোকোপডস টিম: আমার কি পডস ডিরেক্টরিটি সোর্স কন্ট্রোলের মধ্যে চেক করা উচিত?


8

এটি নির্ভর করে, ব্যক্তিগতভাবে:

কেন পোডগুলি রেপোর অংশ হওয়া উচিত (উত্স নিয়ন্ত্রণের অধীনে) এবং এড়ানো উচিত নয়

  • উত্স অভিন্ন
  • আপনি ঠিক এখনই এটি তৈরি করতে পারেন (এমনকি কোকোপড ছাড়াও)
  • এমনকি কোনও পোড মুছে ফেলা হলেও, আমাদের এখনও এর অনুলিপি রয়েছে (হ্যাঁ, এটি ঘটতে পারে এবং এটি হয়েছিল an একটি পুরানো প্রকল্পে যেখানে আপনি কেবলমাত্র একটি ছোট পরিবর্তন চান আপনার এমনকি একটি নতুন লাইব্রেরিও তৈরি করতে সক্ষম হওয়া প্রয়োজন)।
  • pods.xcodeprojসেটিংস এছাড়াও উত্স নিয়ন্ত্রণ অংশ। এর অর্থ উদাহরণস্বরূপ, যদি আপনার প্রকল্পটি থাকে swift 4তবে কয়েকটি পোড অবশ্যই থাকতে হবে swift 3.2কারণ সেগুলি এখনও আপডেট হয়নি, এই সেটিংসটি সংরক্ষণ করা হবে। অন্যথায় যিনি রেপো ক্লোন করেছেন তার ত্রুটিগুলি শেষ হবে।
  • আপনি প্রকল্প থেকে সবসময় শুঁটি মুছতে পারেন এবং চালাতে পারেন pod install, বিপরীতে করা যায় না।
  • এমনকি কোকোপডসের লেখকরা এটির সুপারিশ করেন।

কিছু কনস: বৃহত্তর সংগ্রহস্থল, বিভ্রান্তিকর ডিফগুলি (মূলত দলের সদস্যদের জন্য), সম্ভবত আরও দ্বন্দ্ব।


2

আমার কাছে, সবচেয়ে বড় উদ্বেগ ভবিষ্যতের আপনার উত্সকে প্রমাণ করা। যদি আপনি নিজের প্রকল্পটি কিছু সময়ের জন্য স্থায়ী করে রাখার পরিকল্পনা করেন এবং কোকোপডগুলি সর্বদা চলে যায় বা কোনও পোডের উত্স হ্রাস পায় তবে কোনও সংরক্ষণাগার থেকে নতুন করে তৈরি করার চেষ্টা করা থাকলে আপনি ভাগ্য থেকে সম্পূর্ণ অবসন্ন out

পর্যায়ক্রমিক সম্পূর্ণ উত্স সংরক্ষণাগার দিয়ে এটি প্রশমিত করা যেতে পারে।


2

পডগুলিতে চেক করুন।

আমি মনে করি এটি সফ্টওয়্যার বিকাশের একটি টেনেট হওয়া উচিত

  • সমস্ত বিল্ড অবশ্যই প্রজননযোগ্য হতে হবে
  • বিল্ডগুলি পুনরায় উত্পাদনযোগ্য হয় তা নিশ্চিত করার একমাত্র উপায় হ'ল সমস্ত নির্ভরতা নিয়ন্ত্রণে রাখা; সমস্ত নির্ভরতা পরীক্ষা করা অতএব একটি আবশ্যক।
  • স্ক্র্যাচ থেকে শুরু হওয়া একটি নতুন বিকাশকারী আপনার প্রকল্পটি যাচাই করতে এবং কাজ শুরু করতে সক্ষম হবে।

কেন?

কোকোপডস বা অন্য কোনও বাহ্যিক লাইব্রেরি পরিবর্তিত হতে পারে যা জিনিসগুলি ভেঙে দিতে পারে। অথবা এগুলি স্থানান্তরিত হতে পারে, বা নাম পরিবর্তন করা যেতে পারে বা পুরোপুরি সরানো যেতে পারে। আপনার জন্য জিনিস সংরক্ষণ করার জন্য আপনি ইন্টারনেটে নির্ভর করতে পারবেন না। আপনার ল্যাপটপটি মারা যেতে পারে এবং উত্পাদনে একটি জটিল ত্রুটি রয়েছে যা ঠিক করা দরকার। প্রধান বিকাশকারী একটি বাসের সাথে ধাক্কা খেতে পারে এবং তার প্রতিস্থাপনটি হুট করেই শুরু করতে হবে। এবং আমি চাই যে শেষটি একটি তাত্ত্বিক উদাহরণ ছিল তবে এটি আসলে আমার সাথে শুরু হওয়া সময়ে হয়েছিল। চেরা।

এখন, বাস্তবে, আপনি সত্যিকার অর্থে সমস্ত নির্ভরতা যাচাই করতে পারবেন না। আপনি বিল্ডগুলি তৈরি করতে যে মেশিনটি ব্যবহার করেছিলেন তার কোনও চিত্র আপনি যাচাই করতে পারবেন না; আপনি সংকলকটির সঠিক সংস্করণটি পরীক্ষা করতে পারবেন না। ইত্যাদি। বাস্তবসম্মত সীমা আছে। তবে আপনি যা যা করতে পারেন সব পরীক্ষা করুন - এটি না করা আপনার জীবনকে আরও শক্ত করে তোলে। এবং আমরা এটা চাই না।

চূড়ান্ত শব্দ: পডগুলি নিদর্শনগুলি তৈরি করে না। বিল্ড আর্টিক্টসগুলি হ'ল আপনার বিল্ডগুলি থেকে উত্পন্ন হয়। আপনার বিল্ড পডগুলি ব্যবহার করে, এগুলি উত্পন্ন করে না। আমি কেন নিশ্চিত নয় যে এটি নিয়ে বিতর্ক করতে হবে।


2

সংস্করণ নিয়ন্ত্রণে চেক ইন না করার প্রসেস Pods/(গুরুত্বের বিষয়গত ক্রমে):

  1. কমিটগুলি মার্জ করা, এবং কোডের বিভিন্নতা পর্যালোচনা করা অনেক সহজ। সংযুক্তি কোনও কোড বেসের সমস্যার একটি সাধারণ উত্স এবং এটি আপনাকে কেবল প্রাসঙ্গিক বিষয়গুলিতে ফোকাস করতে দেয়।
  2. কিছু এলোমেলো অবদানকারীদের পক্ষে তাদের নির্ভরতাগুলি সম্পাদনা করা এবং পরিবর্তিত পরিবর্তনগুলি যা তাদের কখনই করা উচিত নয় তা পরীক্ষা করা অসম্ভব (এবং এই পার্থক্যটি বিশাল কিনা তা সনাক্ত করা শক্ত হবে)। নির্ভরতা সম্পাদনা করা খুব খারাপ অনুশীলন কারণ ভবিষ্যতেরpod install পরিবর্তনগুলি ঘটতে পারে।
  3. সতীর্থদের মধ্যে ডিরেক্টরি Podfileএবং Pods/ডিরেক্টরিগুলির মধ্যে তফাতগুলি দ্রুত পাওয়া যায়। আপনি যদি চেক ইন করেন Pods/এবং উদাহরণস্বরূপ, এর মধ্যে একটি সংস্করণ আপডেট করেন Podfileতবে চালানো pod installবা পরিবর্তনগুলি যাচাই করতে ভুলে যান Pods/, আপনার এই তাত্পর্যটির উত্সটি লক্ষ্য করে আরও কঠিন সময় কাটাতে হবে। যদি Pods/চেক ইন না হয় তবে আপনাকে সর্বদা pod installযেভাবেই চালানো উচিত ।
  4. ছোট রেপো আকার। একটি ছোট বাইট-পদচিহ্ন থাকা ভাল, তবে গ্র্যান্ড স্কিমের ক্ষেত্রে এটি খুব বেশি গুরুত্বপূর্ণ নয়। আরও গুরুত্বপূর্ণ: রেপোতে বেশি জিনিস রাখা আপনার জ্ঞানীয় বোঝাও বাড়িয়ে তোলে। রেপোতে এমন জিনিস থাকার কোনও কারণ নেই যা আপনার দিকে নজর দেওয়া উচিত নয়। কোডে (বাস্তবায়ন) নয়, কীভাবে কিছু কাজ করে তা জানতে ডকুমেন্টেশন (বিমূর্তি) দেখুন।
  5. কেউ কতটুকু অবদান রাখে তা নির্ধারণ করা সহজ (যেহেতু তাদের কোডের লাইনগুলিতে অবদান রয়েছে সেগুলি নির্ভর করে না তারা লিখেনি)
  6. JARফাইল, .venv/(ভার্চুয়াল পরিবেশ), এবং node_modules/কখনই সংস্করণ নিয়ন্ত্রণের অন্তর্ভুক্ত নয়। আমরা যদি তর্কের সম্পূর্ণরূপে অজ্ঞেয়বাদী ছিল না চেক Podsডিফল্ট নজির উপর ভিত্তি করে হবে।

কনস না চেকPods/

  1. pod installশাখাগুলি স্যুইচ করার সময়, বা কমিটগুলি ফেরত দেওয়ার সময় আপনাকে অবশ্যই চলতে হবে ।
  2. আপনি কেবল সংগ্রহস্থল ক্লোন করে একটি প্রকল্প চালাতে পারবেন না। আপনাকে অবশ্যই পড সরঞ্জাম ইনস্টল করতে হবে, তারপরে চালান pod install
  3. চালানোর জন্য আপনার অবশ্যই একটি ইন্টারনেট সংযোগ pod installথাকতে হবে এবং শুঁকের উত্স অবশ্যই পাওয়া উচিত।
  4. যদি কোনও নির্ভরতার মালিক তাদের প্যাকেজটি সরিয়ে দেয় তবে আপনি সমস্যায় পড়েছেন।

সংক্ষেপে বলা যায়, সহ নাPods ডিরেক্টরির আরও খারাপ চর্চা বিরুদ্ধে সিঁড়ির পার্শ্বস্থ রেলিং নেই। সহPods নির্দেশিকা প্রকল্প সহজ চলমান করে তোলে। আমি আগেরটির চেয়ে আগেরটিকে পছন্দ করি। প্রথম স্থানে কিছু নির্দিষ্ট ভুল করার সম্ভাবনা না থাকলে আপনাকে "কী করতে হবে" না এমন প্রকল্পে প্রতিটি নতুন ব্যক্তিকে ডিবিফ করার দরকার পড়বে না । আমি Podsযেগুলি দূষিতগুলি হ্রাস করে তার পৃথক সংস্করণ নিয়ন্ত্রণ রাখার ধারণাটিও পছন্দ করি ।


1

তত্ত্বের ক্ষেত্রে, আপনার পড ডিরেক্টরিতে পরীক্ষা করা উচিত। অনুশীলনে, এটি সবসময় কাজ করে না। অনেকগুলি পোড গিথুব ফাইলগুলির আকারের সীমাটি ছাড়িয়ে যায় তাই আপনি যদি গিথুবটি ব্যবহার করে থাকেন তবে পড ডিরেক্টরিতে আপনার সমস্যা পরীক্ষা করতে চলেছে।


1

টিএল; ডিআর: আপনি যখন Pods/ফোল্ডারটি ট্র্যাক করেন , তখন প্রকল্পটি থেকে নেওয়া খুব সহজ। আপনি যখন এটি ট্র্যাক করবেন না, আপনি যখন দলে কাজ করেন তখন উন্নতি করা আরও সহজ।

যদিও কোকোপডস সংস্থাটি আমাদের Pods/ডিরেক্টরিটি ট্র্যাক করতে উত্সাহিত করেছে , তারা বলেছে যে এই উপকারিতা এবং স্বভাবের ভিত্তিতে এটি করা উচিত কিনা তা সিদ্ধান্ত নেওয়ার বিষয়টি ডেভসদের উপর নির্ভর করে:  http://guides.cocoapods.org/using/used-cocoapods.html # উচিত-ই-পরীক্ষা-pods-ডিরেক্টরি-মধ্যে সোর্স নিয়ন্ত্রণ

ব্যক্তিগতভাবে, আমি সাধারণত Pods/কেবল এমন প্রকল্পগুলির জন্য ফোল্ডারটি ট্র্যাক করি যা আমি আর কিছু সময়ের জন্য কাজ করব না। এইভাবে যে কোনও বিকাশকারী তাড়াতাড়ি এটি থেকে নিতে এবং কোকোপডগুলির সঠিক সংস্করণ ব্যবহার করে কাজ চালিয়ে যেতে পারে।

অন্যদিকে, আমি মনে করি প্রতিশ্রুতিবদ্ধ ইতিহাসটি আরও পরিষ্কার হয়ে যায় এবং কোডটি একীভূত করা এবং অন্য কোনও ব্যক্তির কোড পর্যালোচনা করা সহজ হয় যখন আপনি Pods/ফোল্ডারটি ট্র্যাক করছেন না । আমি সাধারণত কোকোপড লাইব্রেরির সংস্করণটি সেট করি যখন আমি এটি ইনস্টল করি তখন নিশ্চিত হয়ে নিন যে কেউ আই হিসাবে একই সংস্করণ ব্যবহার করে প্রকল্পটি ইনস্টল করতে পারে make

এছাড়াও, Pods/ডিরেক্টরিটি যখন ট্র্যাক করা হচ্ছে তখন সমস্ত ডিভগুলিকে কোকোপডসের একই সংস্করণটি ব্যবহার করতে হবে প্রতিবারই যখন আমরা কোনও পোড pod installযুক্ত / সরানোর জন্য দৌড়ে তখন কয়েক ডজন ফাইল পরিবর্তন হওয়া থেকে বিরত থাকে ।

নীচের লাইন : আপনি যখন Pods/ফোল্ডারটি ট্র্যাক করেন , তখন প্রকল্পটি থেকে নেওয়া খুব সহজ। আপনি যখন এটি ট্র্যাক করবেন না, তখন উন্নতি করা আরও সহজ।


0

এটি কাঠামোগত করার একটি ভাল পদ্ধতির মতো বলে মনে হচ্ছে এটি "পডস" ডিরেক্টরিটি একটি গিট সাবমডিউল / পৃথক প্রকল্প হিসাবে থাকবে, এখানে কেন।

  • আপনার প্রকল্পের রেপোতে শুঁটি থাকার পরে, বেশ কয়েকটি বিকাশকারীদের সাথে কাজ করার সময়, লোকদের দ্বারা পরিবর্তিত প্রকৃত কাজটি দেখার পক্ষে প্রায় অসম্ভব যেখানে টানা অনুরোধগুলিতে খুব বেশি পার্থক্যের কারণ হতে পারে (ভাবেন কয়েক শতাধিক থেকে হাজার হাজার ফাইল লাইব্রেরির জন্য পরিবর্তিত হয়েছিল, এবং কেবলমাত্র একটি প্রকৃত প্রকল্পে কিছু পরিবর্তন হয়েছে)।

  • আমি গিটে কিছু করার প্রতিশ্রুতি না দেওয়ার বিষয়টি দেখতে পাচ্ছি, যেহেতু গ্রন্থাগারের মালিক ব্যক্তি যেকোন সময় এটিকে নামিয়ে ফেলতে পারে এবং আপনি মূলত এসওএল হন, এটিও এটি সমাধান করে।


0

আপনার পডস ফোল্ডারে চেক করা বা না করা আপনার উপর নির্ভর করে, কারণ কর্মপ্রবাহগুলি প্রকল্পের পরিবর্তে প্রকল্পে পরিবর্তিত হয়। আমরা আপনাকে পড ডিরেক্টরিটি উত্স নিয়ন্ত্রণে রাখার পরামর্শ দিচ্ছি এবং এটি আপনার .gitignore এ যুক্ত করবেন না। তবে শেষ পর্যন্ত এই সিদ্ধান্তটি আপনার উপর নির্ভর করে:

পড ডিরেক্টরিতে পরীক্ষা করার সুবিধা

  1. রেপো ক্লোনিংয়ের পরে, মেশিনে কোকোপড ইনস্টল না করেও প্রকল্পটি তত্ক্ষণাত্ বিল্ড এবং চলতে পারে। পড ইনস্টল চালানোর দরকার নেই এবং কোনও ইন্টারনেট সংযোগের প্রয়োজন নেই।
  2. পডের শিল্পকর্মগুলি (কোড / লাইব্রেরি) সর্বদা উপলভ্য থাকে, এমনকি কোনও পডের উত্স যেমন (যেমন: গিথহাব) নিচে যেতে হয়।
  3. পোড শৈল্পিকাগুলি রেপো ক্লোনিংয়ের পরে মূল ইনস্টলিংয়ের সাথে অভিন্ন হওয়ার গ্যারান্টিযুক্ত।

পড ডিরেক্টরি উপেক্ষা করার সুবিধা

  1. উত্স নিয়ন্ত্রণ রেপো ছোট হবে এবং কম স্থান গ্রহণ করবে। যতক্ষণ না সমস্ত পডের জন্য উত্স (যেমন গিটহাব) উপলব্ধ থাকে, ততক্ষণ কোকোপডস একই ইনস্টলেশনটি পুনরায় তৈরি করতে সক্ষম হয় ( পডফাইলে জিপ ফাইলগুলি ব্যবহার করার সময় এটি বিশেষত সত্য)
  2. উত্স নিয়ন্ত্রণ অপারেশনগুলি সম্পাদন করার সময় কোনও দ্বন্দ্ব হবে না যেমন বিভিন্ন পড সংস্করণে শাখা মার্জ করা। আপনি পডস ডিরেক্টরিটি পরীক্ষা করে দেখুন বা না, পডফিল এবং পডফিল.লক সর্বদা সংস্করণ নিয়ন্ত্রণে রাখা উচিত।

আপনি কোনও সন্দেহের জন্য এই লিঙ্কটি ব্যবহার করতে পারেন: গাইডস কোকোপডস.আর
সৌরভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.