होम / फ़ीचर / कोड / GitNest
GitNest — osFoundry पर प्राइवेट Git hosting, clone और push के साथ
आपकी workspace repositories के लिए HTTPS पर असली Git, और access token पूरी तरह आपके नियंत्रण में।
GitNest osFoundry का built-in Git host है। आपके workspace की हर repository को एक असली Git remote मिलता है, जिसे आप किसी भी standard Git client से HTTPS पर clone और push कर सकते हैं — न कोई plugin, न export, न दूसरा account। Authentication के लिए workspace access token इस्तेमाल होते हैं, जिन्हें आप खुद बनाते और revoke करते हैं। जो repository आप clone करते हैं, वही web IDE edit करता है और वही Maestro पढ़ता है, इसलिए आपकी मशीन पर किया गया काम और workspace में किया गया काम एक ही history होते हैं।
संक्षिप्त उत्तर
- किसी भी workspace repository को standard Git से HTTPS पर clone और push करें।
- Workspace access token से authenticate करें — बनाना, scope तय करना और revoke करना आपके हाथ में।
- Repositories डिफ़ॉल्ट रूप से अपने workspace तक सीमित, यानी प्राइवेट रहती हैं।
- वही repository web IDE के पीछे भी है, इसलिए push किया हुआ काम workspace में दिखता है।
- किसी भी Git client के साथ काम करता है — command line, IDE, या CI job।
यह क्या है
GitNest एक Git remote है जो आपके workspace का ही हिस्सा है। यह कहीं और host की गई repository का mirror नहीं है, और न ही public open-source hosting का विकल्प — यह वह जगह है जहाँ आपके workspace का अपना code रहता है, और जिस तक आप उसी Git से पहुँचते हैं जो आप पहले से इस्तेमाल करते हैं। चूँकि यह असली Git है, कोई export नहीं, इसलिए रोज़मर्रा के कमांड जस के तस चलते हैं: clone, fetch, branch, push, और उन पर बने सारे tools।
मुख्य क्षमताएँ
- Git के reference implementation पर आधारित smart-HTTP clone, fetch और push।
- प्रति-उपयोगकर्ता access token, expiry date के साथ और एक क्लिक में revoke।
- Workspace तक सीमित authorization — token सिर्फ़ अपने ही workspace की repositories तक पहुँचता है।
- Read और write access हर repository पर अलग तय होता है, इसलिए किसी token का push रोका जा सकता है।
- Push workspace में दिखते हैं, यानी web IDE और Maestro को वही मिलता है जो आपने push किया।
- Published versions सुरक्षित हैं: जो push उन्हें बदल देगा, वह चुपचाप लागू नहीं होता — साफ़ मना कर दिया जाता है।
osFoundry में कैसे करें
- एक access token बनाएँ — Settings → repository tokens खोलकर token बनाएँ। यह सिर्फ़ एक बार दिखता है, इसलिए उसी समय copy कर लें। इसे expiry ज़रूर दें — जो token कभी expire नहीं होता, उसकी चिंता भी कभी ख़त्म नहीं होती।
- Clone URL कॉपी करें — Code में repository खोलें और Clone panel इस्तेमाल करें। URL में आपका workspace शामिल रहता है, क्योंकि Git client custom headers नहीं भेज सकता और पता अपने आप में पूरा होना चाहिए।
- उसे clone करें — उस URL के साथ git clone चलाएँ। Git जब password माँगे तो अपना token डालें; username कुछ भी हो सकता है। कोई credential helper उसे याद रख लेगा।
- हमेशा की तरह commit और push करें — उन्हीं कमांड से branch बनाएँ, commit करें और push करें जो आप पहले से इस्तेमाल करते हैं। इस workflow में osFoundry-विशेष कुछ भी नहीं है।
- workspace में देखें — Push वापस workspace में दिख जाता है, इसलिए branch और उसकी फ़ाइलें web IDE में आ जाती हैं और Maestro के लिए उपलब्ध रहती हैं।
osFoundry की तुलना
| क्षमता | osFoundry | अधिकांश अन्य टूल |
|---|
| Code कहाँ रहता है | आपके अपने workspace के भीतर एक असली Git remote। | एक अलग hosting account, जो किसी integration से जुड़ा हो। |
| Code बाहर निकालना | git clone — वही मानक कमांड, कोई export स्टेप नहीं। | कोई archive डाउनलोड करें, या sync के लिए plugin इंस्टॉल करें। |
| Credentials | Workspace token, जिन्हें आप बनाते और revoke करते हैं, expiry के साथ। | Account का password, या किसी third party को दिया गया OAuth grant। |
| Editor और remote | दोनों के पीछे एक ही repository है, इसलिए वे कभी अलग नहीं होते। | Hosted repo का editor में mirror, जिसे कोई job sync में रखता है। |
उपयोग के मामले
- अपने लोकल setup को तरजीह देने वाला डेवलपर: workspace repository clone करता है, अपने ही editor और अपने ही tooling में काम करता है, और वापस push कर देता है। टीम को बदलाव workspace में दिख जाता है, किसी को कुछ export नहीं करना पड़ता।
- CI pipeline: एक build job expiry वाले scoped token से repository clone करता है, test suite चलाता है, और इसके लिए किसी इंसानी account या निजी credential की ज़रूरत कभी नहीं पड़ती।
- Code को public hosting से दूर रखने वाली टीम: repositories को workspace तक सीमित यानी प्राइवेट रखती है, और फिर भी सामान्य Git से ही काम करती है — प्राइवेसी के बदले अपने रोज़ के tools छोड़ने नहीं पड़ते।
सामान्य प्रश्न
GitNest क्या है?
GitNest osFoundry की built-in Git hosting है। यह आपके workspace की हर repository को एक असली Git remote देती है, जिसे आप किसी भी standard Git client से HTTPS पर clone और push कर सकते हैं।
क्या GitNest, GitHub की जगह लेता है?
नहीं, और उसका इरादा भी नहीं है। Public open-source hosting और उसके आसपास बनी कम्युनिटी के लिए GitHub ही जगह है। GitNest वहाँ है जहाँ आपके workspace की अपनी repositories रहती हैं, ताकि आप उन पर लोकली और osFoundry में — दोनों जगह काम कर सकें, बिना code को दो सिस्टम के बीच घुमाए।
क्या मैं अपने सामान्य Git कमांड इस्तेमाल कर सकता हूँ?
हाँ। GitNest मानक Git smart-HTTP प्रोटोकॉल बोलता है, वह भी Git के अपने reference implementation से, इसलिए clone, fetch, branch और push बिल्कुल वैसे ही चलते हैं जैसे कहीं और।
क्या GitNest में SSH चलता है?
फ़िलहाल नहीं — GitNest सिर्फ़ HTTPS पर है। SSH key के बजाय आप workspace access token से authenticate करते हैं।
Authentication कैसे करें?
Settings में एक access token बनाएँ और Git जब password माँगे तब वही डालें। Username जाँचा नहीं जाता। Token एक ही बार दिखते हैं, उन्हें expiry दी जा सकती है, और कभी भी revoke किया जा सकता है।
Token revoke करने पर क्या होता है?
वह तुरंत, अगली ही request पर काम करना बंद कर देता है। जो पहले से किसी मशीन पर clone हो चुका है, वह उसी मशीन पर रहता है — token revoke करने से आगे की पहुँच रुकती है, यह किसी की working copy तक जाकर उसे मिटाता नहीं।
क्या मेरी repositories प्राइवेट हैं?
हाँ। Repositories डिफ़ॉल्ट रूप से अपने workspace तक सीमित रहती हैं, और कोई token सिर्फ़ उसी workspace की repositories तक पहुँचता है जिससे वह जुड़ा है।
क्या push किया हुआ काम workspace में दिखता है?
हाँ। Push स्वीकार होने के बाद branch और उसकी फ़ाइलें वापस workspace में दिख जाती हैं, इसलिए web IDE वही दिखाता है जो आपने push किया और Maestro उसे पढ़ सकता है।
क्या मैं किसी published version पर push कर सकता हूँ?
नहीं, और वह push आधा-अधूरा लागू होने के बजाय शुरू में ही मना कर दिया जाता है। Published version एक स्थायी रिकॉर्ड है; अगर कोई push उसे बदल देगा, तो GitNest उसे अस्वीकार कर देता है और बता देता है कि किस branch की वजह से — आपकी repository जस की तस रहती है।
क्या मैं CI से GitNest इस्तेमाल कर सकता हूँ?
हाँ। expiry वाला एक token बनाएँ, उसे अपने CI provider के secret store में रखें, और किसी भी दूसरे Git remote की तरह उससे clone करें।
मूल्य निर्धारण
किसी repository को host करना आपके workspace में ही शामिल है — न repository का अलग शुल्क है, न उनकी संख्या का। Clone और push में होने वाला ट्रांसफ़र बाकी bandwidth की तरह आपके workspace के usage में गिना जाता है।
संबंधित सुविधाएँ