কি যথেষ্ট করণীয় হতে পারে:
- 2 টি সংগ্রহশালা তৈরি করুন: ছাত্র এবং শিক্ষক।
- এগুলি আপনার মেশিনে ক্লোন করুন (গিথুব ক্লায়েন্টের সাথে করা যেতে পারে)
- আপনি কেবল শিক্ষকেই কাজ করেন , কখনও ছাত্রকে স্পর্শ করেন না।
সুতরাং আপনার ডিরেক্টরি কাঠামো 2 ক্লোন করা গিট রেপো:
- / ছাত্র (একটি .git ফোল্ডার সহ)
- / শিক্ষক (একটি .git ফোল্ডার সহ)
আপনি আপনার ভাষার জন্য মন্তব্যগুলিতে "ব্যক্তিগত" কোডের চারপাশে চিহ্নিতকারী রেখেছেন, উদাহরণস্বরূপ নীচে জাভাস্ক্রিপ্ট। চিহ্নিতকারীগুলি নির্দেশ করে যেখানে প্রাইভেট কোড শুরু হয় এবং শেষ হয়।
function sum(a, b) {
// -----------------------START
return a + b; // so this is what you expect from the student
// -----------------------END
}
console.log(sum(1,1)); // I expect 2 as a result of your homework
তারপরে আপনার স্থানীয় মেশিনে একটি সাধারণ স্ক্রিপ্ট তৈরি করুন:
files.forEach((fileContent, fileName) => {
let newFileContent = '';
let public = true;
fileContent.forEach((line) => {
switch(line) {
case '// -----------------------START':
public = false;
break;
case '// -----------------------END':
public = true;
break;
default:
if(public) {
newFileContent = newFileContent + line + "\n";
}
}
});
writeFile('../student/' + fileName, newFileContent);
});
এটি হবে: আপনার সমস্ত ফাইল নেবে এবং কোডের ব্যক্তিগত চিহ্নিত অংশগুলি ছাড়াই বিষয়বস্তুগুলি / শিক্ষার্থীর (ওভাররাইটিং) অনুলিপি করুন। আপনি যদি চাইেন তবে খালি লাইনগুলি সন্নিবেশ করতে পারেন তবে এটি কী ধরণের সমাধান আপনার প্রত্যাশা সম্পর্কে একটি ইঙ্গিত দিতে পারে।
এটি অনির্ধারিত উদাহরণ কোড, সুতরাং সম্ভবত আপনাকে কিছু ডিবাগিং করতে হবে।
আপনি কেবল আউটপুট সম্পর্কে খুশি হবার পরে আপনাকে কেবল স্টুডেন্ট রিপোজিটরিতে প্রতিশ্রুতিবদ্ধ হওয়া এবং চাপ দিতে হবে। এটি গিটহাব ক্লায়েন্ট ব্যবহার করার সময় এক ক্লিকে করা যেতে পারে (যাতে আপনি দ্রুত চাক্ষুষ পর্যালোচনা করতে পারেন) বা কমান্ড লাইনে নিজে এটি করতে পারেন।
ছাত্র রেপো কেবলমাত্র একটি আউটপুট সংগ্রহশালা তাই এটি সর্বদা আপ টু ডেট থাকে, শিক্ষার্থীদের কাছে কমিটগুলি দেখে কী পরিবর্তন হয়েছে তা স্পষ্ট ((কারণ তারা কেবল পরিবর্তনগুলি দেখায়) এবং এটি পরিচালনা করা সহজ।
আরও একটি পদক্ষেপ হ'ল গিট কমিট-হুক তৈরি করা যা আপনার স্ক্রিপ্টটি স্বয়ংক্রিয়ভাবে চালিত করে।
সম্পাদনা: দেখুন আপনি আপনার পোস্টে একটি সম্পাদনা করেছেন:
স্পষ্টতই আমি চাই না যে শিক্ষার্থীরা সমাধানটিতে অ্যাক্সেস পান (অ্যাসাইনমেন্টটি শেষ না হওয়া পর্যন্ত)।
আমি সন্দেহ করি এটি পরিষ্কার হয়েছে তবে সম্পূর্ণ হওয়া উচিত: সমাপ্ত ব্যায়ামের চারপাশের ট্যাগগুলি সরিয়ে ফেলুন উত্তরগুলি ঠিক একইভাবে প্রকাশ করা হবে যেমনটি আপনি অনুশীলনের স্বাভাবিক আপডেটের জন্য করবেন।