সুচিপত্র:

ওপেন সোর্স হার্ডওয়্যারের জন্য সংস্করণ নিয়ন্ত্রণ: 10 টি ধাপ
ওপেন সোর্স হার্ডওয়্যারের জন্য সংস্করণ নিয়ন্ত্রণ: 10 টি ধাপ

ভিডিও: ওপেন সোর্স হার্ডওয়্যারের জন্য সংস্করণ নিয়ন্ত্রণ: 10 টি ধাপ

ভিডিও: ওপেন সোর্স হার্ডওয়্যারের জন্য সংস্করণ নিয়ন্ত্রণ: 10 টি ধাপ
ভিডিও: Chrome Browser এর ৭টি ট্রিকস্, যা সবারই জানা দরকার | Google Chrome Tips and Tricks Bangla 2024, ডিসেম্বর
Anonim
ওপেন সোর্স হার্ডওয়্যারের জন্য সংস্করণ নিয়ন্ত্রণ
ওপেন সোর্স হার্ডওয়্যারের জন্য সংস্করণ নিয়ন্ত্রণ

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

ধাপ 1: কেন সংস্করণ আপনার ইলেকট্রনিক্স নিয়ন্ত্রণ?

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

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

ধাপ 2: সরঞ্জামগুলি: কিক্যাড এবং গিট

সরঞ্জামগুলি: কিক্যাড এবং গিট
সরঞ্জামগুলি: কিক্যাড এবং গিট

আমরা এই প্রকল্পে দুটি প্রধান সরঞ্জাম ব্যবহার করি: সংস্করণ নিয়ন্ত্রণ ব্যবস্থা (ভিসিএস) এবং ইলেকট্রনিক্স ডিজাইন অটোমেশন প্রোগ্রাম (ইডিএ বা ইসিএডি)।

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

বেশিরভাগ সোর্স কন্ট্রোল সিস্টেম টেক্সট-ভিত্তিক ফাইলগুলির জন্য বিশেষভাবে ভাল কাজ করে, তাই একটি ECAD প্রোগ্রাম যা টেক্সট ফাইল ব্যবহার করে তা দুর্দান্ত হবে। CERN- এর গবেষকদের দ্বারা সমর্থিত ওপেন সোর্স "ক্রস প্ল্যাটফর্ম এবং ওপেন সোর্স ইলেকট্রনিক্স ডিজাইন অটোমেশন স্যুট" KiCad লিখুন। KiCad ওপেন সোর্স (চেক!), সহজেই ব্যবহারযোগ্য (যদিও কেউ কেউ আমার সাথে একমত হবেন না), এবং উন্নত ইলেকট্রনিক্স ডিজাইনের কাজের জন্য অত্যন্ত সক্ষম।

ধাপ 3: ইনস্টলেশন

স্থাপন
স্থাপন
স্থাপন
স্থাপন

এই প্রোগ্রামগুলি ইনস্টল করতে, নীচে লিঙ্ক করা তাদের বিভিন্ন ডাউনলোড সাইট থেকে নির্দেশাবলী অনুসরণ করুন।

  • কিক্যাড ক্রস-প্ল্যাটফর্ম (এবং চিত্তাকর্ষকভাবে তাই; তাদের ডাউনলোড পৃষ্ঠা 13 টি সমর্থিত ওএস এর তালিকাভুক্ত করে এবং যদি তাদের মধ্যে কোনটি আপনার পক্ষে না থাকে তবে একটি সোর্স কোড ডাউনলোড অফার করে)। কিক্যাড-ইউনিফাইড ডিফল্ট ইনস্টল ব্যবহার করুন, রাতের উন্নয়ন বিল্ড নয়। লাইব্রেরি ইনস্টলেশনের উন্নত alচ্ছিক বিবরণের জন্য ধাপ 4 দেখুন।
  • গিটও ক্রস-প্ল্যাটফর্ম। যদি উইন্ডোজ ব্যবহার করে, আমি আরও কার্যকর, সম্পূর্ণ বৈশিষ্ট্যযুক্ত অভিজ্ঞতার জন্য উইন্ডোজ প্রকল্পের জন্য চিত্তাকর্ষক গিটের সুপারিশ করব।

এই দুটি সাইটে উপলব্ধ ইনস্টলেশন ডকুমেন্টেশন আমি এখানে যে কোনও বিবরণ দিতে পারি তার চেয়ে সম্পূর্ণ হবে। একবার উভয় প্রোগ্রাম ডাউনলোড এবং ইনস্টল করা হলে, আপনি আমাদের Github সংগ্রহস্থল থেকে Brainbow এর প্রকল্প টেমপ্লেট ক্লোন করতে পারেন। Git clone কমান্ডটি গঠন করে `git clone {src directory} {target directory}`; আমাদের প্রকল্পের জন্য, `git clone https://github.com/builtbybrainbow/kicad-starter.git {target directory}` ব্যবহার করুন।

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

কয়েকটি দ্রুত গৃহস্থালির কাজ - যে গিথুব প্রকল্প থেকে আপনি ক্লোন করেছেন তার লিঙ্কটি সরানোর জন্য 'git remote rm origin' চালান। এছাড়াও, আপনার নাম এবং ইমেইল দিয়ে লেখক প্যারামিটারের পরিবর্তে `git commit --amend --author =" John Doe "চালান। এটি শেষ প্রতিশ্রুতি সংশোধন করে (যা এই ক্ষেত্রে প্রথম প্রতিশ্রুতিও) এবং ব্রেইনবো এর পরিবর্তে লেখককে আপনার কাছে পরিবর্তন করে।

ধাপ 4: ইনস্টলেশন নোট: কিক্যাড লাইব্রেরি

ইনস্টলেশন নোট: কিক্যাড লাইব্রেরি
ইনস্টলেশন নোট: কিক্যাড লাইব্রেরি

কিক্যাডের লাইব্রেরির কাঠামো সম্পর্কে একটি দ্রুত নোট। কিক্যাড বিস্তৃত বৈদ্যুতিক উপাদানগুলির জন্য বিকাশকারী দল দ্বারা পরিচালিত লাইব্রেরির একটি সেট সরবরাহ করে। তিনটি প্রধান গ্রন্থাগার রয়েছে:

  • পরিকল্পিত প্রতীক: সার্কিট পরিকল্পিত অঙ্কনে ইলেকট্রনিক উপাদান উপস্থাপনের জন্য ব্যবহৃত প্রতীক।
  • পিসিবি পদচিহ্ন: 2 ডি অঙ্কন প্রকৃত পায়ের ছাপ (তামার প্যাড, সিল্কস্ক্রিন পাঠ্য, ইত্যাদি) প্রতিনিধিত্ব করে যখন একটি PCB- এ সার্কিট স্থাপন করার সময় ব্যবহার করা হয়।
  • 3D মডেল: বৈদ্যুতিন উপাদানগুলির 3D মডেল।

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

আপনি যদি লাইব্রেরিগুলি ক্লোন করতে চান, এই সাইটটি বিভিন্ন Github repos KiCad অফারের বিবরণ দেয়। আপনার কম্পিউটারে গিট লাইব্রেরিগুলি ক্লোন করুন (উদা: `git clone https:// github.com/KiCad/kicad-symbols.git`), তারপর KiCad খুলুন, মেনু বার" পছন্দসমূহ "আইটেম নির্বাচন করুন এবং" পথ কনফিগার করুন … "। এটি আপনাকে প্রতিটি লাইব্রেরির সন্ধানের জন্য কিক্যাডকে নির্দেশিকা পথ বলতে দেয়। এই পরিবেশের ভেরিয়েবলগুলি কিক্যাড ইনস্টলেশনের সাথে ইনস্টল করা লাইব্রেরির পথের জন্য ডিফল্ট; আমি এই মানগুলি নোট করেছি যাতে প্রয়োজনে আমি ডিফল্ট লাইব্রেরিতে ফিরে যেতে পারি। KICAD_SYMBOL_DIR পথটি আপনার ক্লোন করা কিক্যাড-প্রতীক লাইব্রেরি, KISYSMOD কে ক্লোন করা কিক্যাড-ফুটপ্রিন্ট লাইব্রেরি এবং KISYS3DMOD কে ক্লোন করা কিক্যাড-প্যাকেজ 3 ডি লাইব্রেরির দিকে নির্দেশ করতে হবে।

যখন আপনি লাইব্রেরিগুলি আপডেট করতে চান, আপনি লাইব্রেরি রেপোতে একটি সাধারণ 'গিট পুল' কমান্ড চালাতে পারেন যা গিটকে আপনার লাইব্রেরি রেপোর স্থানীয় কপি এবং গিথুব "রিমোট" রেপোর মধ্যে পার্থক্য পরীক্ষা করতে বলবে এবং স্বয়ংক্রিয়ভাবে আপনার আপডেট করবে পরিবর্তন অন্তর্ভুক্ত করার জন্য স্থানীয় কপি।

ধাপ 5: গিট মৌলিক

গিট মৌলিক
গিট মৌলিক

গিট একটি জটিল এবং বহুমুখী প্রোগ্রাম, পুরো বইগুলি এটিকে আয়ত্ত করার জন্য নিবেদিত। যাইহোক, কয়েকটি সহজ ধারণা রয়েছে যা আপনাকে বুঝতে সাহায্য করবে যে আমরা কিভাবে আমাদের কর্মপ্রবাহে গিট ব্যবহার করছি।

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

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

ধাপ 6: কিক্যাড প্রকল্প কাঠামো

কিক্যাড প্রকল্প কাঠামো
কিক্যাড প্রকল্প কাঠামো

আসুন আপনি আগে ক্লোন করা KiCad-Starter প্রকল্পের কাঠামোটি ঘনিষ্ঠভাবে দেখুন। এটি সহজ সংস্থার জন্য কয়েকটি সাবডিরেক্টরিতে বিভক্ত:

  • সার্কিট: এই ফোল্ডারে প্রকৃত KiCad প্রজেক্ট ফাইল (স্কিম্যাটিক, পিসিবি, ইত্যাদি) রয়েছে। আমি এই ফোল্ডারটির নাম পরিবর্তন করিনি, কিন্তু আমি প্রকল্পের নাম (Circuit.pro => ArduinoMini.pro) এর ভিতরের সমস্ত ফাইলের নাম পরিবর্তন করব।

    • Circuit.pro: KiCad প্রকল্প ফাইল
    • Circuit.sch: KiCad স্কিম্যাটিক ফাইল।
    • Circuit.kicad_pcb: KiCad PCB লেআউট ফাইল।
  • ডকুমেন্টেশন: এই ফোল্ডারটি প্রকল্প সম্পর্কিত ডকুমেন্টেশন সংরক্ষণের জন্য। ভবিষ্যতে এই স্থানটি উন্নত করার জন্য আমাদের পরিকল্পনা আছে, কিন্তু আপাতত এতে একটি সহজ README ফাইল রয়েছে। ভবিষ্যতে আপনি পর্যালোচনা করার জন্য প্রকল্পে নোট সংরক্ষণ করতে এটি ব্যবহার করুন।
  • ফ্যাব্রিকেশন: এই ফোল্ডারটি যেখানে আপনি জারবার ফাইলগুলি সংরক্ষণ করবেন যা বেশিরভাগ ফ্যাব হাউস আপনার সার্কিট বোর্ড তৈরির জন্য ব্যবহার করবে। আমরা এটি BOM ফাইল এবং অন্যান্য নথি সংরক্ষণ করতে ব্যবহার করি যা উত্পাদন এবং সমাবেশের জন্য প্রয়োজন হতে পারে।
  • লাইব্রেরি: এই ফোল্ডারটি প্রকল্প-নির্দিষ্ট লাইব্রেরি ফাইল সংরক্ষণের জন্য (আমরা এটিকে আরও কয়েকটি ধাপে কভার করব)।

আপনি আরও কয়েকটি ফাইল লক্ষ্য করতে পারেন (বিশেষত যদি আপনি `ls -a` ডিরেক্টরি)।. Git ডিরেক্টরি যেখানে গিট এটি জাদু করে, সংগ্রহস্থলের ইতিহাস সংরক্ষণ করে।. Gitignore ফাইলটি Git কে কোন ফাইলগুলিকে উপেক্ষা করা উচিত এবং উৎস নিয়ন্ত্রণে সঞ্চয় করা উচিত তা বলতে ব্যবহৃত হয়। এগুলি বেশিরভাগ ব্যাকআপ ফাইল যা কিক্যাড তৈরি করে, অথবা নেটলিস্টের মতো কয়েকটি ভিন্ন "উত্পন্ন" ফাইল, যা উৎস নিয়ন্ত্রণে সংরক্ষণ করা উচিত নয় কারণ সেগুলি উৎস থেকে উত্পন্ন হয় যা পরিকল্পিত ফাইল।

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

ধাপ 7: কিক্যাড প্রকল্পগুলির জন্য গিট ব্যবহার করা

কিক্যাড প্রকল্পগুলির জন্য গিট ব্যবহার করা
কিক্যাড প্রকল্পগুলির জন্য গিট ব্যবহার করা
কিক্যাড প্রকল্পগুলির জন্য গিট ব্যবহার করা
কিক্যাড প্রকল্পগুলির জন্য গিট ব্যবহার করা
কিক্যাড প্রকল্পগুলির জন্য গিট ব্যবহার করা
কিক্যাড প্রকল্পগুলির জন্য গিট ব্যবহার করা

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

কিক্যাড-স্টার্টার ডিরেক্টরি খুলুন, তারপর প্রতিশ্রুতি ইতিহাস প্রদর্শন করতে `git log` চালান। এখানে একটি প্রতিশ্রুতি থাকা উচিত, ব্রেইনবো দ্বারা রেপোর সূচনা। 'গিট স্ট্যাটাস' চালানো আপনাকে আপনার রেপোতে ফাইলগুলির স্থিতি বলবে (অনির্বাচিত, সংশোধিত, মুছে ফেলা, মঞ্চিত)।

এই মুহুর্তে, আপনার রেপোতে কোনও পরিবর্তন করা উচিত নয়। আসুন একটি পরিবর্তন করা যাক। KiCad প্রকল্পটি খুলুন এবং পরিকল্পিত একটি প্রতিরোধক যোগ করুন, তারপর সংরক্ষণ করুন। এখন 'গিট স্ট্যাটাস' চালানো দেখানো উচিত যে আপনি পরিকল্পিত ফাইলটি সংশোধন করেছেন, কিন্তু কমিটের জন্য সেই পরিবর্তনগুলি এখনও মঞ্চস্থ করেননি। যদি আপনি রিসিস্টর যোগ করার সময় কিক্যাড ঠিক কী করেছিলেন সে সম্পর্কে আপনি কৌতূহলী হন, তাহলে আপনি পরিবর্তিত ফাইল `git diff Circuit/Circuit.sch` তে diff কমান্ড চালাতে পারেন। এটি ওয়ার্কিং ডিরেক্টরিতে ফাইলের বর্তমান সংস্করণ এবং শেষ প্রতিশ্রুতিতে ফাইলের অবস্থার মধ্যে পরিবর্তনগুলি হাইলাইট করবে।

এখন যেহেতু আমরা একটি পরিবর্তন করেছি, আসুন আমাদের প্রকল্পের ইতিহাসে সেই পরিবর্তনটি করার চেষ্টা করি। আমাদের কর্মপরিচালনা থেকে মঞ্চস্থ এলাকায় পরিবর্তনগুলি স্থানান্তর করতে হবে। এটি আসলে ফাইল সিস্টেমে ফাইলগুলি সরায় না, কিন্তু ধারণাগতভাবে গিটকে জানানোর একটি উপায় যে আপনি একটি নির্দিষ্ট ফাইলের জন্য আপনার সমস্ত পরিকল্পিত পরিবর্তন করেছেন এবং সেই পরিবর্তনগুলি করতে প্রস্তুত। সহায়কভাবে, গিট কিছু ইঙ্গিত প্রদান করে যখন আপনি পরবর্তী ক্রিয়ার জন্য 'গিট স্ট্যাটাস' চালান। বার্তাটি লক্ষ্য করুন `(প্রতিশ্রুতিবদ্ধ হবে তা আপডেট করার জন্য" git add… "ব্যবহার করুন) গিট আপনাকে বলছে কিভাবে স্টেজিং এলাকায় পরিবর্তনগুলি সরানো যায়। পরিবর্তনগুলি পর্যবেক্ষণ করতে 'git add Circuit/Circuit.sch' চালান, তারপর কী ঘটেছে তা দেখতে 'git status'। এখন আমরা প্রতিশ্রুতিবদ্ধ পরিবর্তনগুলির অধীনে পরিকল্পিত ফাইলটি দেখি। আপনি যদি এখনও এই পরিবর্তনগুলি করতে না চান, তাহলে গিট সহায়কভাবে আরেকটি টিপ অফার করে: `(অস্থির করতে" git reset HEAD … "ব্যবহার করুন)। আমরা এই পরিবর্তনগুলি করতে চাই, তাই আমরা 'git commit -m "যোগ করা প্রতিরোধককে পরিকল্পিতভাবে চালাই"। এটি প্রদত্ত বার্তার সাথে পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ করে। গিট লগ চালানো প্রকল্পের প্রতিশ্রুতি ইতিহাসে এই প্রতিশ্রুতি দেখাবে।

কমিট সম্পর্কে আরো কিছু টিপস।

  1. প্রতিটি সঞ্চয়ের সাথে প্রতিশ্রুতি দেবেন না। কমিট করুন যখন আপনি মনে করেন যে আপনি এমন একটি পর্যায়ে পৌঁছেছেন যেখানে আপনার পরিবর্তন কিছুটা দৃified় হয়েছে। আমি একটি পরিকল্পিত শেষ করার পরে প্রতিশ্রুতিবদ্ধ, প্রতিটি উপাদান সংযোজন পরে না। আপনি খুব কমই প্রতিশ্রুতি দিতে চান না, কারণ আপনি 3 সপ্তাহ পরে আপনি যে পরিবর্তনগুলি করেছিলেন তার প্রসঙ্গটি মনে রাখা কঠিন হতে পারে। কখন প্রতিশ্রুতি দিতে হবে তা খুঁজে বের করা একটি শিল্প, কিন্তু আপনি গিট ব্যবহার করার সাথে সাথে আপনি আরও আরামদায়ক হয়ে উঠবেন।
  2. শুধুমাত্র স্টোর সোর্স (বেশিরভাগ)। এই প্রকল্প, পরিকল্পিত, এবং বিন্যাস ফাইল, সেইসাথে প্রকল্প-নির্দিষ্ট লাইব্রেরি অন্তর্ভুক্ত। এটি ডকুমেন্টেশন ফাইলগুলিও অন্তর্ভুক্ত করতে পারে। প্রাপ্ত বস্তুগুলি সংরক্ষণ করার সময় সাবধান থাকুন কারণ সেগুলি মূল উৎসের সাথে সহজেই সিঙ্ক থেকে বেরিয়ে আসতে পারে এবং এটি পরে মাথাব্যথার কারণ হয়। বিওএম এবং গারবার ফাইলগুলি বিশেষভাবে সহজেই ডি-সিঙ্ক্রোনাইজ হয়ে যায়, তাই এগুলি আরও ভালভাবে এড়ানো যায় (যদিও ধাপ in-এ আরও বিস্তারিত নির্দেশনা দেওয়া আছে)।
  3. কমিট বার্তাগুলি খুব দরকারী, কিন্তু সুগঠিত কমিট বার্তাগুলি অমূল্য। এই চমৎকার নিবন্ধটি পরিষ্কার, সংক্ষিপ্ত, দরকারী কমিট বার্তা লেখার জন্য কিছু নির্দেশিকা প্রদান করে। এটি করার জন্য একটি কমান্ড লাইন টেক্সট এডিটর ব্যবহার করতে হতে পারে, যা আমাকে নতুনদের জন্য জটিল করে তুলতে পারে (-মিট মেসেজ অপশন ছাড়া 'git commit' একটি টেক্সট এডিটর খুলবে)। বেশিরভাগ মানুষের জন্য, আমি ন্যানো এডিটর সুপারিশ করি। স্ট্যাকওভারফ্লোতে আপনার সম্পাদক পরিবর্তন করার একটি ভাল ব্যাখ্যা রয়েছে

ধাপ 8: উন্নত: ইলেকট্রনিক্সের জন্য শব্দার্থক সংস্করণ

উন্নত: ইলেকট্রনিক্সের জন্য শব্দার্থিক সংস্করণ
উন্নত: ইলেকট্রনিক্সের জন্য শব্দার্থিক সংস্করণ

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

সফটওয়্যারে, সেমেন্টিক ভার্সনিং (সেমভার) এর একটি ধারণা আছে। সেমভার "মেজর.মিনর.প্যাচ" এর একটি প্যাটার্ন অনুসরণ করে "সংস্করণ নম্বর" দ্বারা সফ্টওয়্যার রিলিজ সনাক্ত করার জন্য একটি সাধারণ নামকরণ পদ্ধতি নির্ধারণ করে। সেমভার স্পেক উদ্ধৃত করতে, আপনি নিম্নলিখিত পরিবর্তন বিভাগ অনুযায়ী সংস্করণ নম্বর অগ্রসর করুন।

  1. প্রধান সংস্করণ যখন আপনি অসঙ্গত API পরিবর্তন করেন,
  2. MINOR সংস্করণ যখন আপনি একটি পিছন-সামঞ্জস্যপূর্ণ পদ্ধতিতে কার্যকারিতা যোগ করেন,
  3. প্যাচ সংস্করণ যখন আপনি পিছনে-সামঞ্জস্যপূর্ণ বাগ সংশোধন করেন।

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

  1. প্রধান সংস্করণ: সার্কিটের মূল কার্যকারিতার উল্লেখযোগ্য পরিবর্তনের জন্য ব্যবহৃত হয় (যেমন: ATmegaa থেকে ESP8266 এ প্রসেসর পরিবর্তন করা)।
  2. ছোট সংস্করণ: সার্কিট অপারেশনকে প্রভাবিত করতে পারে এমন কম্পোনেন্ট অদলবদলের জন্য ব্যবহৃত হয় (উদা:: পিন-সামঞ্জস্যপূর্ণ অংশের সাথে SPI ফ্ল্যাশ সোয়াপ যার একটি ভিন্ন কমান্ড সেট থাকতে পারে) অথবা কিছু ছোট অতিরিক্ত বৈশিষ্ট্য (যেমন: অতিরিক্ত তাপমাত্রা সেন্সর যোগ করা)।
  3. প্যাচ সংস্করণ: ছোটখাট বাগ ফিক্সের জন্য ব্যবহৃত হয় যা সার্কিট অপারেশন পরিবর্তন করবে না (উদা: সিল্কস্ক্রিন সমন্বয়, ছোট ট্রেস লেআউট সমন্বয়, 0603 ক্যাপাসিটরের মতো সাধারণ উপাদান অদলবদল 0805)।

হার্ডওয়্যার সেমভারে, সংস্করণ নম্বরটি শুধুমাত্র উৎপাদনে আপডেট করা হয় (যেমন সফটওয়্যারে, সংস্করণ সংখ্যাগুলি কেবল রিলিজের সাথে পরিবর্তিত হয়, প্রতিটি ব্যক্তি একটি প্রকল্পে প্রতিশ্রুতিবদ্ধ নয়)। ফলস্বরূপ, অনেক প্রকল্পে কম সংস্করণ নম্বর রয়েছে। আমরা এখনও একটি প্রকল্প 4 টিরও বেশি প্রধান সংস্করণ ব্যবহার করেছি।

সামঞ্জস্য এবং বোধগম্যতার সুবিধাগুলি ছাড়াও আপনি একটি সু-সংজ্ঞায়িত নামকরণ পদ্ধতিতে স্যুইচ করার থেকে পান, আপনি ফার্মওয়্যার সামঞ্জস্য এবং গ্রাহকের সন্তুষ্টিতেও সুবিধা পান। বোর্ডের যে সংস্করণটি টার্গেট করা হচ্ছে তা বিবেচনায় নিয়ে ফার্মওয়্যার লেখা যেতে পারে এবং একটি বিশেষ প্রোগ্রাম কেন একটি নির্দিষ্ট বোর্ডে কাজ করছে না তা ডিবাগ করা সহজ হতে পারে ("ঠিক আছে, 2.4.1 ফার্মওয়্যার 1.2 তে চলে না বোর্ড কারণ আমাদের নেই…। ") গ্রাহকরা আমাদের হার্ডওয়্যার সেমভার থেকেও উপকৃত হয়েছেন কারণ একটি নির্দিষ্ট মানদণ্ডের সাথে গ্রাহক সেবা এবং সমস্যা সমাধান অনেক সহজ।

ধাপ 9: উন্নত: হার্ডওয়্যার শব্দার্থিক সংস্করণ ব্যবহার করা

উন্নত: হার্ডওয়্যার শব্দার্থিক সংস্করণ ব্যবহার করা
উন্নত: হার্ডওয়্যার শব্দার্থিক সংস্করণ ব্যবহার করা

আপনার নিজস্ব প্রকল্পে হার্ডওয়্যার সেভার ব্যবহার করতে, আমরা ট্যাগিং নামে একটি গিট বৈশিষ্ট্য ব্যবহার করি। যখন আপনি প্রথম একটি বোর্ড তৈরি করেন, এটি সেই বোর্ডের 1.0.0 সংস্করণ। নিশ্চিত করুন যে আপনি আপনার প্রকল্পের সমস্ত পরিবর্তন করেছেন, তারপর `git tag -a v1.0.0` চালান। এটি একটি সম্পাদক খুলবে যাতে আপনি এই ট্যাগের জন্য একটি টীকা বার্তা লিখতে পারেন (কমিট বার্তার অনুরূপ)। আমি উত্পাদন সম্পর্কে বিস্তারিত অন্তর্ভুক্ত করি (কে পিসিবি তৈরি করেছিল, কে বোর্ড একত্রিত করেছিল), যা পরে দরকারী তথ্য হতে পারে।

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

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

ধাপ 10: পরবর্তী পদক্ষেপ

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

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

পড়ার জন্য ধন্যবাদ, এবং আপনি কি করেন তা দেখার জন্য আমরা অপেক্ষা করতে পারি না!

প্রস্তাবিত: