সোর্স কন্ট্রোলটিতে .sln ফাইল করা কি সেরা অনুশীলন? কখন এটি করা উপযুক্ত বা অনুপযুক্ত?
আপডেট উত্তরের কয়েকটি ভাল পয়েন্ট ছিল। প্রতিক্রিয়া জন্য ধন্যবাদ!
সোর্স কন্ট্রোলটিতে .sln ফাইল করা কি সেরা অনুশীলন? কখন এটি করা উপযুক্ত বা অনুপযুক্ত?
আপডেট উত্তরের কয়েকটি ভাল পয়েন্ট ছিল। প্রতিক্রিয়া জন্য ধন্যবাদ!
উত্তর:
আমি মনে করি যে এটি অন্যান্য জবাব থেকে পরিষ্কার হয়েছে যে সমাধান ফাইলগুলি কার্যকর এবং প্রতিশ্রুতিবদ্ধ হওয়া উচিত, এমনকি যদি সেগুলি অফিসিয়াল বিল্ডগুলির জন্য না ব্যবহৃত হয়। Go to Definition / Declaration এর মতো ভিজ্যুয়াল স্টুডিও বৈশিষ্ট্যগুলি যে কেউ ব্যবহার করছে তাদের পক্ষে তারা সহজ।
ডিফল্টরূপে, এগুলিতে নিখুঁত পাথ বা অন্য কোনও মেশিন-নির্দিষ্ট শিল্পকর্ম থাকে না। (দুর্ভাগ্যক্রমে, কিছু অ্যাড-ইন সরঞ্জাম সঠিকভাবে এই সম্পত্তিটি বজায় রাখে না, উদাহরণস্বরূপ, এএমডি কোডএনালিস্ট)) আপনি যদি নিজের প্রকল্পের ফাইলগুলিতে (সি ++ এবং সি # উভয়) আপেক্ষিক পাথ ব্যবহার করতে সচেতন হন তবে তারা মেশিন-স্বতন্ত্র হবে খুব।
সম্ভবত আরও কার্যকর প্রশ্ন: আপনার কোন ফাইলগুলি বাদ দেওয়া উচিত? আমার ভিএস ২০০৮ প্রকল্পের জন্য আমার .gitignore ফাইলের সামগ্রী এখানে রয়েছে:
*.suo
*.user
*.ncb
Debug/
Release/
CodeAnalyst/
(শেষ এন্ট্রিটি কেবলমাত্র এএমডি কোডএ্যানালিস্ট প্রোফাইলারের জন্য))
ভিএস ২০১০-এর জন্য আপনার নিম্নলিখিতগুলিও বাদ দিতে হবে:
ipch/
*.sdf
*.opensdf
হ্যাঁ - আমি মনে করি এটি সর্বদা উপযুক্ত। ব্যবহারকারীর নির্দিষ্ট সেটিংস অন্যান্য ফাইলে রয়েছে।
আপনার অবশ্যই এটি থাকা উচিত। অন্যান্য ব্যক্তিরা যে কারণে উল্লেখ করেছেন, তার পাশাপাশি পুরো প্রকল্পগুলির এক ধাপ তৈরি সম্ভব।
আমি সাধারণত সম্মত হই যে সলিউশন ফাইলগুলি চেক ইন করা উচিত, তবে, আমি যে সংস্থার জন্য কাজ করি আমরা তার চেয়ে আলাদা কিছু করেছি। আমাদের মাঝে বেশিরভাগ বড় সংগ্রহস্থল রয়েছে এবং বিকাশকারীরা সময়ে সময়ে সিস্টেমের বিভিন্ন অংশে কাজ করেন। আমরা যেভাবে কাজ করি তা সমর্থন করতে আমাদের হয় একটি বড় সমাধান ফাইল বা বেশ কয়েকটি ছোট। এগুলির উভয়েরই কয়েকটি ত্রুটি রয়েছে এবং বিকাশকারীদের পক্ষে ম্যানুয়াল কাজ করা দরকার। এটি এড়াতে, আমরা একটি প্লাগ-ইন তৈরি করেছি যা সমস্ত কিছু পরিচালনা করে।
প্লাগ-ইন প্রতিটি বিকাশকারীকে সংগ্রহস্থল থেকে প্রাসঙ্গিক প্রকল্পগুলি বাছাই করে উত্স গাছের একটি উপসেটটি কেবল কাজ করতে দেয়। প্লাগইন তারপরে একটি সমাধান ফাইল তৈরি করে এবং প্রদত্ত সমাধানের জন্য ফ্লাইতে প্রকল্প ফাইলগুলিকে সংশোধন করে। এটি রেফারেন্সগুলিও পরিচালনা করে। অন্য কথায়, সমস্ত বিকাশকারীকে করতে হবে উপযুক্ত প্রকল্পগুলি নির্বাচন করা এবং তারপরে প্রয়োজনীয় ফাইলগুলি উত্পন্ন / সংশোধন করা। এটি আমাদের কোম্পানির মানগুলি নিশ্চিত করতে অন্যান্য বিভিন্ন সেটিংসকে কাস্টমাইজ করতে সহায়তা করে।
অতিরিক্তভাবে আমরা বিভিন্ন চেক-ইন নীতিগুলিকে সমর্থন করার জন্য প্লাগ-ইন ব্যবহার করি, যা সাধারণত ব্যবহারকারীদের ত্রুটিযুক্ত / অ-সঙ্গতিপূর্ণ কোড জমা দেওয়ার ক্ষেত্রে বাধা দেয়।
হ্যাঁ, আপনার যে জিনিসগুলি করা উচিত তা হ'ল:
আপনার প্রতিশ্রুতিবদ্ধ হওয়া উচিত নয় :
অন্যান্য স্বয়ংক্রিয়ভাবে উত্পন্ন ফাইলগুলির বিষয়ে, একটি পৃথক থ্রেড রয়েছে ।
হ্যাঁ, এটি উত্স নিয়ন্ত্রণের অংশ হওয়া উচিত। যখনই আপনি আপনার অ্যাপ্লিকেশন থেকে প্রজেক্টগুলি যুক্ত / সরিয়ে ফেলেন তখন .sln আপডেট হয়ে যায় এবং উত্স নিয়ন্ত্রণে রাখা ভাল। এটি আপনাকে আপনার অ্যাপ্লিকেশন কোডটি 2 সংস্করণ পিছনে টেনে আনতে এবং সরাসরি একটি বিল্ড করার অনুমতি দেয় (যদি প্রয়োজন হয়)।
হ্যাঁ, আপনি সর্বদা .sln ফাইলটি অন্তর্ভুক্ত করতে চান, এটি সমাধানে থাকা সমস্ত প্রকল্পের লিঙ্কগুলি অন্তর্ভুক্ত করে।
আমরা এটি করি কারণ এটি সবকিছু সিঙ্ক করে রাখে। সমস্ত প্রয়োজনীয় প্রকল্পগুলি একসাথে অবস্থিত, এবং কারও একটি অনুপস্থিত সম্পর্কে চিন্তা করতে হবে না। আমাদের বিল্ড সার্ভার (অ্যান্ট হিল প্রো) কোন রিলিজের জন্য কোন প্রকল্পগুলি তৈরি করবে তা চিত্রিত করতে স্লানও ব্যবহার করে।
আমরা সাধারণত আমাদের সমাধান ফাইলগুলি একটি সমাধান ডিরেক্টরিতে রাখি। এইভাবে আমরা কোডটি থেকে কোডটি কিছুটা আলাদা করি এবং আমার কাজ করা প্রকল্পটি বেছে নেওয়া আরও সহজ।
কেবলমাত্র যেখানে আপনি এমনকি উত্স নিয়ন্ত্রণে এটি সংরক্ষণ না করে বিবেচনা করবেন তা হ'ল যদি আপনার উত্স নিয়ন্ত্রণে থাকা অনেকগুলি প্রকল্পের সাথে একটি বৃহত সমাধান হয় এবং আপনি কিছুগুলির জন্য মূল সমাধান থেকে কিছু প্রকল্পের সাথে একটি ছোট সমাধান তৈরি করতে চেয়েছিলেন ব্যক্তিগত ক্ষণস্থায়ী প্রয়োজন।
আমরা ফাইলগুলি টিএফএস সংস্করণ নিয়ন্ত্রণে রাখি বা সমাধান করি। তবে যেহেতু বা মূল সমাধানটি সত্যিই বড়, বেশিরভাগ বিকাশকারীদের কেবলমাত্র তার প্রয়োজন অনুসারে ব্যক্তিগত সমাধান থাকে have মূল সমাধান ফাইলটি বেশিরভাগ বিল্ড সার্ভার দ্বারা ব্যবহৃত হয়।
.slns একমাত্র জিনিস যা আমাদের টিএফএস-এ সমস্যা হয় নি !