এক্সসিড 5-তে থাকা * .xccheckout ফাইলগুলি ভিসিএসের আওতায় এড়ানো উচিত?


157

অ্যাপল এক্সকোড 5: "এক্সসিচেকআউট" তে একটি নতুন প্রকল্প-সম্পর্কিত ফাইল প্রবর্তন করেছে।

এই ফাইলটি ".xcodeproj / प्रोजेक्ट.এক্সক্রেসস্পেস / xcshareddata /" ডিরেক্টরিতে অবস্থিত এবং দেখে মনে হচ্ছে এটি প্রকল্পের সংস্করণ নিয়ন্ত্রণ সিস্টেমের সাথে সম্পর্কিত।

একটি উদাহরণ ফাইল এখানে: http://pastebin.com/5EP63iRa

আমি মনে করি এই ধরণের ফাইলটি ভিসিএসের আওতায় উপেক্ষা করা উচিত, তবে আমি নিশ্চিত নই।

সুতরাং এখানে প্রশ্নগুলি:

  1. "Xccheckout" এড়ানো উচিত?
  2. এর উদ্দেশ্য কী?

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

1
নাবালিকা পরিবর্তনের প্রস্তাব দিয়েছে: "অ্যাপল একটি নতুন প্রবর্তন করেছে", "একটি উদাহরণ ফাইল এখানে:"। প্রশ্ন 1 তে একটি মিল নেই
সোফি সফ্টওয়্যার এলএলসি

3
কোন ফাইলগুলি উপেক্ষা করা উচিত তা জানতে আমি সর্বদা গিথুব / গিটিংগোর রেপো উল্লেখ করি -> github.com/github/gitignore/blob/master/Objective-C.gitignore
eliocs

উত্তর:


109

আপনার একটি এক্সকোড 5 ফাইল যাচাই করা উচিত.xccheckout ; সাধারণভাবে, ফাইলগুলি xcshareddataপ্রতিশ্রুতিবদ্ধ হওয়া উচিত।

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


8
যদি এটি ভাগ .xcuserdataকরে নেওয়া উচিত না হয় তবে অ্যাপল এটিকে সংরক্ষণ করবে তাই এটি অন্তর্ভুক্ত করা উচিত।
জোশকোডস 11:25 '

4
যেমনটি আমি আমার উত্তরে বলেছি, xccheckout ফাইলটিতে একটি ওয়ার্কস্পেসে ব্যবহৃত সমস্ত সংগ্রহস্থলের জন্য তথ্য রয়েছে। এসসিএম সিস্টেম তারা যা ব্যবহার করে তা নির্বিশেষে এটাই কেস - এ জাতীয় কর্মক্ষেত্র এসএনএন বা গিট হতে পারে এবং এর প্রকল্পগুলি এসএনএন এবং গিট সংগ্রহস্থলের মিশ্রণে হতে পারে।
ক্রিস হ্যানসন

72
দেখে মনে হচ্ছে xccheckout এ কী এবং নামগুলি রয়েছে যা প্রতিটি বিকাশকারীর মেশিনের সাথে সুনির্দিষ্ট থাকে ... আমি এক্সকোড চালানোর সাথে সাথে এটি ফাইলের কিছু কী পরিবর্তন করে এবং এটি << স্ট্রিং> আমাদেরকম্পানাপি </ স্ট্রিং> থেকে <স্ট্রিং> আইডিএএসসোর্স কনট্রোল ডাব্লুসিআরসি নামক কিছু পরিবর্তন করে to > আমাদের_কম্পনি_পি / স্ট্রিং> - পরে নামটি রেপো ক্লোন করার সময় আমি ব্যবহার করেছি। যদি এই ফাইলটি ভাগ করে নেওয়ার কথা হয়, তবে অ্যাপল বেশ খারাপ কাজ করেছে।
হের গ্রাম্পস

7
আমরা যখন এই ফাইলটি যাচাই করি, তখন আমার সমস্ত সহকর্মীরা একটি পৃথক আইডিইএসসোর্সকন্ট্রোলপ্রজেক্টআইডেন্টিফায়ার পান ... সুতরাং আমাদের .xccheckout প্রতিটি প্রতিশ্রুতি দিয়ে সংশোধিত হবে। -_-
সিউর

9
অ্যাপল মূলত যা চেয়েছিল তা নির্বিশেষে .xccheckoutফাইলগুলি এক্সকোড 6 বিটাতে কিছু উন্মাদ সমস্যা সৃষ্টি করছে এবং আমি সেগুলি ভিসিএস থেকে সরানোর সিদ্ধান্ত নিয়েছি। কিছু ক্যাশেগ বাগের সাথে সম্পর্কিত বলে মনে হচ্ছে এবং আমি বিশ্বাস করি যে প্রতিটি বারের জন্য Xcode স্বয়ংক্রিয়ভাবে ভিসিএস থেকে তাদের পুনঃজন্ম করতে পারে।
eonil

63

*.xccheckoutফাইল VCS মেটাডাটা রয়েছে, এবং সেইজন্য না VCS মধ্যে চেক করা উচিত।

অন্যদিকে: এই ফাইলটিতে চেক করা সম্ভবত মার্জ সমস্যা বা অন্যান্য সমস্যা তৈরি করবে না।

আপনি যদি এই ফাইলটিকে উপেক্ষা করতে চান (যা আমি প্রস্তাব দিই) আপনার এই প্রকল্পটি আপনার প্রকল্পের সাথে যুক্ত করা উচিত .gitignore:

*.xccheckout

Abizern এর সমাধান একটি কর্মক্ষেত্র ভিতরে প্রকল্পগুলির জন্য কাজ করবে না। কারণ, যখন আপনি একটি কর্মক্ষেত্র ব্যবহার করেন, পাথ *.xccheckoutফাইল হবে: <workspace-name>.xcworkspace/xcshareddata/<workspace-name>.xcchekout। এবং এটি আসলে আপনার ইচ্ছার চেয়ে বেশি উপেক্ষা করে।

সম্পাদনা করুন: এই ফাইলটি আপনার প্রকল্পে সম্ভবত অনেকগুলি ভিসিএস সিস্টেমের এক্সকোডের জ্ঞান পরিচালনার জন্য উপস্থিত রয়েছে, ক্রিস হ্যানসনের উত্তর দেখুন। প্রকল্পের 99% এর জন্য .xccheckout ফাইলটি কনফিগারেশন ওভারকিল।


1
আপনি যদি এই বিবৃতিতে "এটি আসলে আপনি চান তার চেয়ে বেশি উপেক্ষা" করতে পারেন তবে এটি ভয়াবহ হবে rific বিশেষত, অন্যান্য ফাইলগুলির কয়েকটি উদাহরণ যা সেই ফোল্ডারে যায় যা চেক ইন করা উচিত
মার্ক এডিংটন

ফলোআপ: আমি এই প্রশ্ন থেকে অ্যাডামের একটি .gitignore ব্যবহার করছি । এটা একটা হিসাবে উপলব্ধ সারকথা এবং এটি xcshareddata ফোল্ডার সামগ্রীগুলি কিছু বিবরণ নেই।
মার্ক এডিংটন

@ মার্ক : এটি উপেক্ষা করে project.xcworkspace/। এটি আপাতত ওকে হতে পারে তবে আমি নতুন এক্সকোড সংস্করণে এটি গণনা করব না।
বেরিক

6
এই উত্তরটি ভুল, এবং গিটহাবের মান .gitignoreযা এটি বিকাশকারীদেরকে সরবরাহ করে তা নির্দিষ্ট করা উচিত নয়*.xccheckout
ক্রিস হ্যানসন

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

38

এটা নির্ভর করে. ফাইলটিতে আপনি ব্যবহার করছেন এমন রিমোট রিপোজিটরির উল্লেখ রয়েছে। আপনি যদি সেন্ট্রালাইজড ভিসিএস যেমন পারফোর্স বা সাবভারশন ব্যবহার করছেন তবে প্রত্যেকের রিমোট রিপোজিটরি একই হবে এবং তাই আপনি ফাইলটি পরীক্ষা করে দেখতে এবং দেখতে পারেন।

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

যাইহোক, আপনি যদি প্রত্যেকে নিজের প্রত্যন্ত ক্লোনযুক্ত প্রত্যেকের সাথে ডিভিসিএস ব্যবহার করেন, উদাহরণস্বরূপ এটির স্ট্যান্ডার্ড ব্যবহারের ধরণে গিটহাব ব্যবহার করছেন, আপনি এই ফাইলটি চেক করতে চান না If আপনি যদি তা করেন তবে আপনার পুল অনুরোধগুলি আপনার সংগ্রহস্থল সেটিংসের জন্য জিজ্ঞাসা করবে প্রত্যেকের xccheckout ফাইলে অনুলিপি করতে, তবে আপনার সংগ্রহস্থল সেটিংস প্রত্যেকের থেকে আলাদা হবে কারণ আপনি প্রত্যেকে বিভিন্ন রিমোট রেপোজিটরিগুলি ব্যবহার করছেন।


1
এই উত্তরটি আমার কাছে সেরা বলে মনে হচ্ছে। এগুলিতে যাচাই করা আমাদের দলের কমান্ডগুলির জন্য বিভিন্ন বিষয়ে অযৌক্তিক চ্যাটিচেনা সৃষ্টি করে। আমি তাদের নীচে রাখার জন্য .gitignore এ যুক্ত করেছিলাম: * / .xcworkspace / xcshareddata / *। ভিসিএস জুড়ে জিনিসগুলি ধারাবাহিকভাবে কাজ করুন)
জুয়ান কার্লোস মান্দেজ

20

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

আপনি যখন ওয়ার্কস্পেসটি খোলেন, এক্সকোড Project.xccheckoutফাইলটি ব্যবহারকারীকে অবহিত করার জন্য ব্যবহার করে যে ওয়ার্কস্পেসের অংশ তৈরি করে এমন অন্যান্য সংগ্রহস্থল রয়েছে এবং কোনটি পরীক্ষা করা উচিত তা জিজ্ঞাসা করে। অতিরিক্ত সংগ্রহস্থলগুলি পরীক্ষা করার সময়, এক্সকোড Project.xccheckoutফাইলটি তৈরি করার সময় ওয়ার্কপেস-সম্পর্কিত ফোল্ডার কাঠামোর মতো কাজকর্মগুলি অনুলিপিগুলিতে রাখে ।

ক্রিস হ্যানসন যেমন বলেছিলেন, সম্ভবত এটি একটি একক-সংগ্রহস্থল, এক-প্রকল্পের কর্মক্ষেত্রের পক্ষে গুরুত্বপূর্ণ নয়, তবে আরও জটিল বিষয়গুলির জন্য এটি সত্যই কার্যকর হবে।

আপনি ডাব্লুডাব্লুডিসি 2013 সেশন ভিডিও এক্সকোডে সোর্স কন্ট্রোলের বোঝার জন্য এটি সম্পর্কে আরও জানতে পারেন ; প্রাসঙ্গিক অংশটি প্রায় 15 মিনিটে শুরু হয়।


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

3

এক্সকোডের জন্য আমার .gitignore এ এটিই রয়েছে।

#Xcode
*.xcuserstate
project.xcworkspace/
xcuserdata/

এটি প্রকল্পের ভাণ্ডার থেকে আমার যেভাবে দেখায় তার স্থানীয় অবস্থার সাথে সম্পর্কিত যে কোনও কিছুই এটি রাখে।

Xccheckout ফাইলটি এখানে রয়েছে তাই এটি ডিফল্টরূপে আমার সিস্টেমে ট্র্যাক করা যায় না।

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

ব্রেকপয়েন্টগুলি অগ্রাহ্য করা হয় তবে আপনি নির্দিষ্ট ব্রেকপয়েন্টগুলি প্রকল্পের মধ্যে ভাগ করে নেওয়া হিসাবে চিহ্নিত করতে পারেন এবং সেগুলি এমন একটি ডিরেক্টরিতেও স্থাপন করা হয় যা উপেক্ষা করা হয় না।

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