पेपर को GitHub पर रखें

प्रारंभ में, ऑक्स फ़ाइलों, निजी रेपो, आदतों को अनदेखा करें जो सह-लेखक विलय को स्वस्थ रखती हैं।

पेपर को GitHub पर डालें

एक LaTeX पांडुलिपि सादा पाठ है, जो इसे Git के लिए आदर्श बनाता है। प्रत्येक ड्राफ्ट एक प्रतिबद्धता बन जाता है जिस पर आप वापस लौट सकते हैं, प्रत्येक परिवर्तन एक लाइन-स्तरीय अंतर के रूप में दिखाई देता है, और GitHub आपको एक ऑफसाइट कॉपी और सह-लेखकों को वर्तमान स्थिति को खींचने का एक तरीका देता है। इनमें से किसी के लिए भी उन्नत Git की आवश्यकता नहीं है। एक पेपर को संभवतः पाँच कमांडों की आवश्यकता होती है, जिनका लगातार उपयोग किया जाता है।

प्रारंभिक सेटअप

Terminal window
git init
# add a .gitignore for *.aux *.log *.out *.toc *.synctex.gz
git add main.tex refs.bib figures/
git commit -m "Initial manuscript"
gh repo create my-paper --private --source=. --push

इसे प्रोजेक्ट फ़ोल्डर में एक बार चलाएँ। .gitignore कदम जितना दिखता है उससे कहीं अधिक मायने रखता है। प्रत्येक संकलन .aux, .log, .out, .toc, और .synctex.gz फ़ाइलों को पुन: उत्पन्न करता है, और उन्हें प्रतिबद्ध करने से मशीन के शोर के तहत आपके वास्तविक परिवर्तन दब जाते हैं और सह-लेखकों के बीच व्यर्थ मर्ज संघर्ष पैदा होता है। केवल वही ट्रैक करें जो आपने लिखा है: .tex स्रोत, .bib डेटाबेस, आंकड़े, और स्थान द्वारा आपको दी गई कोई भी वर्ग या शैली फ़ाइलें। पीडीएफ भी एक निर्मित उत्पाद है. अधिकांश टीमें इसे छोड़ देती हैं और स्थानीय स्तर पर पुनर्निर्माण करती हैं, हालांकि किसी टैग किए गए रिलीज़ में इसे संलग्न करना सबमिट किए गए संस्करण को फ़्रीज़ करने का एक उचित तरीका है। कार्य सार्वजनिक होने तक रिपॉजिटरी को निजी रखें। एक अप्रकाशित पांडुलिपि अनुक्रमित करने योग्य चीज़ नहीं है।

आदतें जो सह-लेखकों को स्वस्थ रखती हैं

प्रत्येक को एक तार्किक परिवर्तन करने के लिए प्रतिबद्ध करें, जैसे “अनुभाग 3 परिचय को संशोधित करें” या “एब्लेशन तालिका जोड़ें”। तब इतिहास अखबार की कहानी के रूप में पढ़ा जाता है, और एक खराब संपादन को बिना किसी अतिरिक्त क्षति के वापस किया जा सकता है। लेखन सत्र शुरू करने से पहले खींचें और रुकने पर धक्का दें। शाखाएँ अलग-अलग समय बिताने के साथ-साथ मर्ज संघर्ष बढ़ता जाता है। एक बार जब सह-लेखकों ने किसी साझा शाखा को खींच लिया हो तो उसे कभी भी जबरदस्ती न धकेलें: इससे उनके पैरों तले इतिहास फिर से लिखा जाता है। बड़ी बाइनरी कलाकृतियों (डेटासेट, वीडियो) को पेपर रिपॉजिटरी से बाहर रखें। किसी संग्रह से लिंक करें या एक अलग डेटा रेपो का उपयोग करें। Git प्रत्येक बाइनरी के प्रत्येक संस्करण को हमेशा के लिए संग्रहीत करता है।

LaTeX के लिए विशिष्ट एक आदत: प्रति स्रोत पंक्ति में एक वाक्य लिखना नाटकीय रूप से अधिक पठनीय बनाता है, क्योंकि एक-शब्द संपादन एक पुन: प्रवाहित पैराग्राफ के बजाय एक-पंक्ति परिवर्तन के रूप में दिखता है।

ओलेफ़ली कैसे फिट बैठता है

प्रत्येक Oleafly प्रोजेक्ट डिस्क पर एक सामान्य फ़ोल्डर है, इसलिए ये कमांड उस पर अपरिवर्तित काम करते हैं। ऐप प्रत्येक सफल संकलन के बाद स्वचालित रूप से एक Git कमिट भी बना सकता है, जो आपको आपके जानबूझकर किए गए कमिट के बीच एक बढ़िया सुरक्षा जाल प्रदान करता है। गिट इतिहास देखें। पैच एक्सचेंज और अध्याय स्वामित्व सहित इसके शीर्ष पर निर्मित सहयोग पैटर्न के लिए, [लाइव कर्सर के बिना सह-लेखक] (/ सीखें/ऑफ़लाइन-सहयोग/) देखें।

{ट्रैक} पर वापस जाएँ