क्या उल्लेखनीय हो सकता है:
- 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);
});
यह होगा: अपनी सभी फाइलें ले लें और कोड के निजी चिह्नित भागों के बिना / छात्र (अधिलेखित) सामग्री को कॉपी करें। अगर आप चाहते हैं कि आप वहां खाली लाइनें डाल सकते हैं, लेकिन यह संकेत दे सकता है कि आपकी उम्मीद किस तरह का समाधान है।
यह अप्रयुक्त उदाहरण कोड है, इसलिए आपको कुछ डिबगिंग करना होगा।
अब केवल एक चीज जो आपको करनी है, वह है और छात्र रिपॉजिटरी में पुश करें जब आप आउटपुट के बारे में खुश हों। GitHub क्लाइंट का उपयोग करते समय एक क्लिक में किया जा सकता है (ताकि आप एक त्वरित दृश्य समीक्षा कर सकें) या बस इसे मैन्युअल रूप से कमांड लाइन पर करें।
छात्र रेपो एक आउटपुट रिपॉजिटरी है केवल इसलिए यह हमेशा अद्यतित रहेगा, यह छात्रों को स्पष्ट है कि कमिट्स को देखकर क्या बदला है (क्योंकि वे केवल परिवर्तन दिखाते हैं) और इसे संभालना आसान है।
एक कदम आगे एक गिट कमिट बनाने के लिए होगा जो आपकी स्क्रिप्ट को स्वतः चलाता है।
संपादित करें: देखें कि आपने अपनी पोस्ट को संपादित किया है:
जाहिर है मैं नहीं चाहता कि छात्रों को समाधान तक पहुंच प्राप्त हो (जब तक कि असाइनमेंट खत्म नहीं हो जाता)।
मुझे लगता है कि यह स्पष्ट है, लेकिन पूरा होने के लिए: बस समाप्त अभ्यास के चारों ओर टैग हटा दें उत्तर को उसी तरह प्रकाशित करेंगे जैसे आप अभ्यास के सामान्य अपडेट के लिए करेंगे।