SSH के माध्यम से ग्रहण के साथ एक दूरस्थ परियोजना पर काम करें


192

मेरे पास निम्नलिखित बॉक्स हैं:

  1. ग्रहण सीडीटी के साथ एक विंडोज बॉक्स,
  2. एक लिनक्स बॉक्स, मेरे लिए केवल SSH के माध्यम से सुलभ है।

मेरे प्रोजेक्ट को बनाने और चलाने के लिए आवश्यक कंपाइलर और हार्डवेयर दोनों ही मशीन B पर है।

मैं ग्रहण सीडीटी का उपयोग करके उस परियोजना पर एक विंडोज बॉक्स से "पारदर्शी रूप से" काम करना चाहता हूं और आईडीई के भीतर से दूर से परियोजना का निर्माण, चलाने और डीबग करने में सक्षम हो सकता हूं।

मैं इसे कैसे सेट करूँ:

  • बिल्डिंग बनेगी? एक स्थानीय मेकफाइल लिखने की तुलना में कोई भी सरल समाधान जो rsyncपरियोजना और फिर वास्तविक निर्माण शुरू करने के लिए एक रिमोट मेकफाइल कहलाएगा? क्या एक्लिप्स प्रबंधित बिल्ड उसके लिए एक विशेषता है?
  • डिबगिंग काम करेगा?
  • अधिमानतः - ग्रहण सीडीटी कोड इंडेक्सिंग काम करेगा? क्या मुझे मशीन बी से मशीन ए तक सभी आवश्यक हेडर फ़ाइलों की प्रतिलिपि बनाने और उन्हें मैन्युअल रूप से शामिल करने के लिए जोड़ना होगा?

4
कोस, क्या आपने आरएसई का उपयोग किया था? आपका अनुभव कैसा रहा?
अलेक्सांद्र लेवचुक

2
मैं इसे करने में कामयाब रहा, लेकिन: a) CDT को वर्चुअल फाइल सिस्टम के बारे में जानकारी होने के साथ कुछ समस्याएं थीं (AFAIK यह एक अस्थायी मुद्दा है और जब वे कुछ चीजों को नए एपीआई में फिर से लिखेंगे तो गायब हो जाएंगे; हो सकता है कि उन्होंने पहले ही किया हो? IDK) ख) मुझे अपनी संकलन श्रृंखला (एक कस्टम मेकफाइल के माध्यम से) और सी) को एक अप्रिय झुंझलाहट के रूप में रोल करना पड़ा- फाइल सेव को २ ~ ३ सेकंड की तरह लिया गया और यह परेशान करने वाला था।
कोस

1
यदि मुझे आज फिर से दूर काम करने की आवश्यकता है, तो मैं शायद आरएसई के साथ एक और स्पिन ले लूंगा, लेकिन मुझे इसे स्थानीय परियोजना के रूप में रखने और एक कस्टम बिल्ड सिस्टम को रोल करने के लिए अधिक संभव मिल सकता है, उदाहरण के लिए rsyncजैसे मैं। उल्लेख किया।
कोस

2
और दुर्भाग्य से- मैं दूरस्थ लाइब्रेरी हेडर के दूरस्थ डिबगिंग या अनुक्रमण को स्थापित करने में कामयाब नहीं हुआ। मुझे संदेह है कि उत्तरार्द्ध भी किया जा सकता है। पूर्व - मैं सकारात्मक हूं यह हो सकता है, लेकिन मुझे वास्तव में इसमें खुदाई करने की आवश्यकता नहीं थी।
कोस

मैं पहले एक लॉगिन सर्वर में लॉग इन करके और फिर वहां से अपनी रिमोट मशीन में लॉग करके अपनी रिमोट मशीन का उपयोग करता हूं। दोनों के अलग-अलग पासवर्ड हैं। क्या ग्रहण में ऐसी रिमोट मशीन पर काम करने का कोई तरीका है?
अर्जुन जे राव

जवाबों:


218

रिमोट सिस्टम एक्सप्लोरर (आरएसई) का प्रयास करें । यह प्लग-इन का एक सेट है जो आप चाहते हैं।

आरएसई आपके वर्तमान ग्रहण स्थापना में पहले से ही शामिल हो सकता है। ग्रहण इंडिगो में जांच करने के लिए विंडो > ओपन पर्सपेक्टिव > अन्य ... पर जाएं और आरएसई परिप्रेक्ष्य खोलने के लिए ओपन पर्सपेक्टिव डायलॉग से रिमोट सिस्टम एक्सप्लोरर चुनें ।

ग्रहण में आरएसई परिप्रेक्ष्य से एक SSH दूरस्थ परियोजना बनाने के लिए:

  1. एक नया कनेक्शन परिभाषित करें और नए कनेक्शन संवाद में केवल दूरस्थ सिस्टम प्रकार स्क्रीन चुनें से SSH चुनें।
  2. कनेक्शन जानकारी दर्ज करें फिर समाप्त चुनें।
  3. नए होस्ट से कनेक्ट करें। (माना जाता है कि SSH कुंजियाँ पहले से ही सेटअप हैं।)
  4. एक बार कनेक्ट होने के बाद, होस्ट के Sftp फ़ाइलों में ड्रिल करें, एक फ़ोल्डर चुनें और आइटम के संदर्भ मेनू से रिमोट प्रोजेक्ट बनाएँ चुनें। (दूरस्थ परियोजना के निर्मित होने तक प्रतीक्षा करें।)

यदि सही तरीके से किया जाता है, तो अब प्रोजेक्ट एक्सप्लोरर और ग्रहण के भीतर अन्य दृष्टिकोणों से सुलभ एक नई दूरस्थ परियोजना होनी चाहिए। SSH कनेक्शन सेट-अप के साथ सही तरीके से पासवर्ड को सामान्य SSH प्रमाणीकरण प्रक्रिया का एक वैकल्पिक हिस्सा बनाया जा सकता है। SSH के माध्यम से ग्रहण के साथ एक दूरस्थ परियोजना अब बनाई गई है।


2
आरएसई अभी भी मुश्किल है। RSE का सबसे अच्छा विचार ग्रहण के लिए SSH कनेक्शन पर सब कुछ करना है, लेकिन यह सुविधा अभी तक काम नहीं कर रही है। काम करने की सुविधा में कुछ सर्वर शामिल हैं जिन्हें आपको लिनक्स बॉक्स पर सेटअप करना होगा।
इयोन नोव

2
इसके अलावा आरएसई लोग बग / वृद्धि रिपोर्ट प्राप्त करना पसंद करते हैं।
एरोन डिगुल्ला

2
@Aaron - मैंने पहले मेकफाइल से उस rsync समाधान की कोशिश की है - जो मूल रूप से आपके कुंजी अनुक्रम को एक Ctrl + B से बदल देगा। समस्या यह है कि इस दृष्टिकोण के साथ मैं न तो चल सकता हूं और न ही ग्रहण से डिबग कर सकता हूं। आरएसई वास्तव में नौकरी से अच्छे उपकरण की तरह लगता है; @, क्या आप काम नहीं कर रहे हैं, इस बारे में विस्तार से बता सकते हैं? आरएसई विकी एसएसएच फाइल सिस्टम और रिमोट डिबगिंग को एक मौजूदा फीचर के रूप में सूचीबद्ध करने के लिए लगता है ... या मैं इसे सोमवार को आजमाऊंगा।
कोस

3
@AaronDigulla हाय, समाधान शांत है, लेकिन मैंने पाया कि जब मैं दूरस्थ परियोजना का निर्माण कर रहा हूं, तो ग्रहण स्थानीय स्तर पर इसे संकलित करने की कोशिश कर रहा है। वहाँ वैसे भी इसे संकलित करने और रिमोट मशीन में चलाने के लिए है?
shaoyl85

1
RSE के साथ C / C ++ इंडेक्सिंग ठीक से काम नहीं कर रहा है। अनुक्रमणिका गुम प्रतीकों के बारे में शिकायत करती है। यह अच्छी तरह से काम करता है जब परियोजना और स्रोत फ़ाइलें स्थानीय रूप से संग्रहीत की जाती हैं, लेकिन आरएसई के साथ यह नहीं करता है। कोई विचार?
ब्लैक_जेरो

12

सबसे सरल तरीका यह होगा कि लिनक्स बॉक्स पर एक्लिप्स सीडीटी को चलाया जाए और एक्स 11-फॉरवर्डिंग या रिमोट डेस्कटॉप सॉफ्टवेयर जैसे वीएनसी का उपयोग किया जाए।

यह निश्चित रूप से, केवल तभी संभव है जब आप एक्लिप्स लिनक्स बॉक्स पर मौजूद हों और बॉक्स के लिए आपका नेटवर्क कनेक्शन पर्याप्त रूप से तेज हो।

लाभ यह है कि, सब कुछ स्थानीय होने के कारण, आपके पास सिंक्रनाइज़ेशन समस्याएँ नहीं होंगी, और आपको कोई भी क्रॉस-प्लेटफ़ॉर्म समस्याएँ नहीं आती हैं।

यदि आपके पास बॉक्स पर कोई ग्रहण नहीं है, तो आप अपने लिनक्स कार्य निर्देशिका को एसएमबी (या एसएसएचएफएस) के माध्यम से साझा करने के बारे में सोच सकते हैं और इसे अपनी विंडोज़ मशीन से एक्सेस कर सकते हैं, लेकिन इसके लिए काफी कुछ सेटअप की आवश्यकता होगी।

दोनों की दो प्रतियां होने से बेहतर होगा, खासकर जब यह क्रॉस-प्लेटफॉर्म है।


1
मुझे डर है कि लिनक्स बॉक्स में X11 भी नहीं है। :)
कोस

2
@Kos, आपको X11- सर्वर को चलाने की जरूरत है जहां आप शारीरिक रूप से बैठते हैं - या तो वर्चुअल मशीन में लिनक्स के साथ, या विंडोज के लिए एक्स 11 सर्वर - और लिनक्स सर्वर पर चलने के लिए ग्रहण करें। ssh सिर्फ नेटवर्क डेटा को टनलिंग करने की अनुमति देता है - आप अनुभव की मदद के लिए कम्प्रेशन + "-सी ब्लोफ़िश" पाएंगे।
Thorbjørn रावन एंडरसन

बस स्पष्ट करने के लिए - क्या आप रिमोट मशीन पर "हेडलेस एक्लिप्स" कहते हैं? (खैर, बशर्ते इसमें जावा :) भी हो। मैं एक हल्के क्लाइंट-साइड समाधान की तलाश में था, लेकिन रिमोट मशीन पर कुछ सेटअप होने से एक विकल्प भी हो सकता है।
कोस

7
@Kos: No. X11 इस तरह काम करता है: आपके पास एक क्लाइंट और एक सर्वर है। सर्वर वह जगह है जहां मॉनिटर जुड़ा हुआ है। यह सभी प्रतिपादन और प्रदर्शित करता है। क्लाइंट (इस मामले में ग्रहण) सिर्फ सर्वर को रेंडरिंग कमांड भेजता है। इसलिए आपको विंडोज पर X11 इंस्टॉल करना होगा और अपने लिनक्स बॉक्स पर एक्लिप्स चलाना होगा। लिनक्स पर आपको बस DISPLAYइतना करना है कि चर को सेट किया जाए ताकि ग्रहण को पता चले कि सर्वर कहां है।
आरोन दिगुल्ला

5
नेटवर्क को हालांकि तेज़ होना चाहिए, और इसी तरह आपका सर्वर और एक्लिप्स वास्तव में धीमी गति से चलेगा।
मटालक्सांद्र 13

6

मैं खुद एक ही स्थान पर हूं (या था), FWIW मैंने लिनक्स होस्ट पर एक सांबा शेयर की जांच पूरी की और संपादन किया जो कि स्थानीय रूप से विंडोज मशीन पर नोटपैड ++ के साथ साझा करता है, फिर मैंने पुट्टी के माध्यम से लिनक्स बॉक्स पर संकलित किया। (हमें लिनक्स होस्ट पर संपादकों के दस y / o संस्करणों को अपडेट करने की अनुमति नहीं थी और इसमें जावा नहीं था, इसलिए मैंने X11 अग्रेषण पर छोड़ दिया)

अब ... मैं अपने विंडोज होस्ट पर एक वीएम में आधुनिक लिनक्स चलाता हूं, सभी उपकरण जो मैं चाहता हूं (जैसे सीडीटी) को वीएम में जोड़ता हूं और फिर मैं आरटीई जैसा दिखता है कि चेरोट जेल में चेकआउट और निर्माण करता हूं।

यह एक क्लूनी समाधान है, लेकिन मुझे लगा कि मैं इसे मिश्रण में फेंक दूंगा।


3

मेरा समाधान sshfs का उपयोग करने के अलावा SAMBA एक के समान है। मेरे रिमोट सर्वर को sshfs के साथ माउंट करें, रिमोट मशीन पर मेरा मेकफाइल प्रोजेक्ट खोलें। वहां से जाओ।

ऐसा लगता है कि मैं जीयूआई को इस तरह से भी बेहतर तरीके से चला सकता हूं।

मेरा रिमोट कोड बनाना उतना ही सरल है: ssh एड्रेस Remote_make_command

मैं हालांकि डिबग करने के लिए एक सभ्य तरीके की तलाश कर रहा हूं। संभवतः gdbserver के माध्यम से?


2

मुझे 2 साल पहले भी यही समस्या थी और मैंने इसे निम्नलिखित तरीके से हल किया:

1) मैं अपनी परियोजनाओं का निर्माण मेकफाइल्स के साथ करता हूं, ग्रहण द्वारा प्रबंधित नहीं 2) मैं ग्रहण 3 के अंदर फ़ाइलों को संपादित करने के लिए एक एसएएमबीए कनेक्शन का उपयोग करता हूं) परियोजना का निर्माण: ग्रहण एक "स्थानीय" मेकफाइल के साथ कॉल करता है जो लिनक्स के लिए एसएसएच कनेक्शन खोलता है मेज़बान। SSH कमांड लाइन पर आप ऐसे पैरामीटर दे सकते हैं जो लिनक्स होस्ट पर निष्पादित होते हैं। मैं उस पैरामीटर के लिए उपयोग करता हूं एक मेकिट.श शेल स्क्रिप्ट जो लाइनक्स होस्ट पर "वास्तविक" बनाते हैं। स्थानीय मेकफाइल -> makeit.sh -> मेकफाइल ऑन लाइनक्स होस्ट से पैरामीटर द्वारा आप के लिए अलग-अलग लक्ष्य भी दे सकते हैं।


अच्छा है, लेकिन "पारदर्शी" नहीं कहा जा सकता - बहुत कम से कम डिबगिंग की अनुमति नहीं देता है। यह सांबा के बजाय RSync पर आधारित हो सकता है (जो कि मेरे मूल प्रश्न को पोस्ट करने से पहले मेरे पास था)।
कोस

2

मैंने कोशिश की ssh -Xलेकिन यह असहनीय रूप से धीमा था।

मैंने आरएसई की भी कोशिश की, लेकिन यह मेकफाइल के साथ परियोजना के निर्माण का समर्थन भी नहीं कर रहा था ( मुझे बताया जा रहा है कि जब से मैंने अपना उत्तर पोस्ट किया है, तब से यह बदल गया है , लेकिन मैंने कोशिश नहीं की है)

मैंने पढ़ा कि NX X11 फॉरवर्ड करने की तुलना में तेज़ है, लेकिन मैं इसे काम नहीं कर पाया।

अंत में, मुझे पता चला कि मेरा सर्वर X2Go का समर्थन करता है (लिंक ने निर्देश स्थापित किए हैं यदि आपका नहीं)। अब मुझे केवल:

  • डाउनलोड करें और सर्वर पर ग्रहण अनपैक करें,
  • मेरे स्थानीय मशीन sudo apt-get install x2goclientपर ( Ubuntu पर) X2Go स्थापित करें ,
  • कनेक्शन को कॉन्फ़िगर करें (होस्ट, ssh कुंजी के साथ ऑटो-लॉगिन, एक्लिप्स चलाने के लिए चुनें)।

सब कुछ वैसा ही है जैसे मैं एक स्थानीय मशीन पर काम कर रहा था, जिसमें बिल्डिंग, डिबगिंग और कोड इंडेक्सिंग शामिल हैं। और ध्यान देने योग्य अंतराल नहीं हैं।


0

इस स्थिति के लिए आप स्रोत ब्राउज़िंग और भवन के लिए ptp ग्रहण https://eclipse.org/ptp/ का उपयोग कर सकते हैं ।

आप अपने एप्लिकेशन को डीबग करने के लिए इस प्लगिंग का उपयोग कर सकते हैं

http://marketplace.eclipse.org/content/direct-remote-c-debugging


0

यह उत्तर वर्तमान में केवल दो लिनक्स कंप्यूटरों का उपयोग करने पर लागू होता है [या शायद मैक पर भी काम करता है? - मैक पर अनटाइटेड (एक से दूसरे में समन्वयित) क्योंकि मैंने इस सिंक्रनाइज़ेशन स्क्रिप्ट को बैश में लिखा था। यह बस के आसपास एक आवरण है git, हालांकि, इसलिए इसे लेने के लिए स्वतंत्र महसूस करें और इसे एक क्रॉस-प्लेटफ़ॉर्म पायथन समाधान में बदलें या यदि आप चाहें तो


यह सीधे ओपी के सवाल का जवाब नहीं देता है, लेकिन यह इतना करीब है कि मैं गारंटी देता हूं कि यह कई अन्य लोगों के सवाल का जवाब देगा, जो इस पृष्ठ पर उतरते हैं (मेरा शामिल, वास्तव में, जैसा कि मैं अपना समाधान लिखने से पहले यहां आया था ), इसलिए मैं वैसे भी यहाँ पोस्ट कर रहा हूँ।

में चाहता हूं:

  1. लाइट-वेट लिनक्स कंप्यूटर पर ग्रहण जैसे शक्तिशाली आईडीई का उपयोग करके कोड विकसित करें
  2. एक अलग, अधिक शक्तिशाली लिनक्स कंप्यूटर (कमांड लाइन से, ग्रहण के अंदर से नहीं) पर ssh के माध्यम से उस कोड का निर्माण करें

आइए पहले कंप्यूटर को कॉल करें जहां मैं "PC1" (पर्सनल कंप्यूटर 1) कोड लिखता हूं, और दूसरा कंप्यूटर जहां मैं "PC2" कोड बनाता हूं। मुझे PC1 से PC2 तक आसानी से सिंक्रनाइज़ करने के लिए एक उपकरण की आवश्यकता है। मैंने कोशिश की rsync, लेकिन यह बड़े रेपो के लिए बहुत धीमा था और टन और बैंडविड्थ और डेटा ले लिया।

तो मैं इसे कैसे करूं? मुझे कौन से वर्कफ़्लो का उपयोग करना चाहिए? यदि आपके पास भी यह सवाल है, तो यहां वर्कफ़्लो है जो मैंने तय किया है। मैंने स्वचालित gitरूप से दूरस्थ रिपॉजिटरी जैसे गीथब के माध्यम से PC1 से PC2 में परिवर्तन को स्वचालित रूप से पुश करने के लिए उपयोग करके प्रक्रिया को स्वचालित करने के लिए एक बैश स्क्रिप्ट लिखी । अब तक यह बहुत अच्छा काम करता है और मैं इससे बहुत खुश हूं। यह अब तक की तुलना में कहीं rsyncअधिक तेजी से , मेरी राय में अधिक भरोसेमंद है क्योंकि प्रत्येक पीसी एक कार्यात्मक गिट रेपो को बनाए रखता है, और पूरे सिंक को करने के लिए बहुत कम बैंडविड्थ का उपयोग करता है, इसलिए यह आपके डेटा के टन का उपयोग किए बिना सेल फोन के हॉट स्पॉट पर आसानी से संभव है।

सेट अप:

  1. PC1 पर स्क्रिप्ट स्थापित करें (यह समाधान मानता है / बिन आपके $ पेट में है):

    git clone https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles.git
    cd eRCaGuy_dotfiles/useful_scripts
    mkdir -p ~/bin
    ln -s "${PWD}/sync_git_repo_from_pc1_to_pc2.sh" ~/bin/sync_git_repo_from_pc1_to_pc2
    cd ..
    cp -i .sync_git_repo ~/.sync_git_repo
  2. अब आपके द्वारा ऊपर कॉपी की गई "~ / .sync_git_repo" फ़ाइल को संपादित करें, और अपने मामले को फिट करने के लिए इसके मापदंडों को अपडेट करें। यहाँ ये पैरामीटर हैं:

    # The git repo root directory on PC2 where you are syncing your files TO; this dir must *already exist* 
    # and you must have *already `git clone`d* a copy of your git repo into it!
    # - Do NOT use variables such as `$HOME`. Be explicit instead. This is because the variable expansion will 
    #   happen on the local machine when what we need is the variable expansion from the remote machine. Being 
    #   explicit instead just avoids this problem.
    PC2_GIT_REPO_TARGET_DIR="/home/gabriel/dev/eRCaGuy_dotfiles" # explicitly type this out; don't use variables
    
    PC2_SSH_USERNAME="my_username" # explicitly type this out; don't use variables
    PC2_SSH_HOST="my_hostname"     # explicitly type this out; don't use variables
  3. अपने रेपो क्लोन को गैट करें जिसे आप पीसी 1 और पीसी 2 दोनों पर सिंक करना चाहते हैं।

  4. सुनिश्चित करें कि आपकी ssh कुंजियाँ सभी PC1 और PC2 से दूरस्थ रेपो में धकेलने और खींचने में सक्षम हों। यहाँ कुछ उपयोगी लिंक दिए गए हैं:
    1. https://help.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh
    2. https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
  5. सुनिश्चित करें कि आपकी ssh कुंजियाँ PC1 से PC2 तक ssh पर सेट हैं।
  6. अब cdPC1 पर git रेपो के भीतर किसी भी डायरेक्टरी में, और रन करें:

    sync_git_repo_from_pc1_to_pc2
  7. बस! लगभग 30 सेकंड बाद सब कुछ जादुई रूप से पीसी 1 से पीसी 2 तक सिंक हो जाएगा, और यह आपको यह बताने के लिए पूरे समय का आउटपुट प्रिंट करेगा कि यह क्या कर रहा है और यह आपकी डिस्क पर और किस कंप्यूटर पर कर रहा है। यह सुरक्षित भी है, क्योंकि यह ऐसी किसी भी चीज़ को अधिलेखित या हटाना नहीं है, जो अनधिकृत है। यह बजाय पहले इसे वापस कर देता है! यह कैसे काम करता है इसके लिए नीचे पढ़ें।

इस प्रक्रिया का उपयोग इस प्रक्रिया में किया गया है (यानी: यह वास्तव में क्या कर रहा है)

  1. PC1 से: यह देखने के लिए जाँचता है कि क्या PC1 पर कोई भी अनपेक्षित परिवर्तन हैं या नहीं। यदि हां, तो यह उन्हें वर्तमान शाखा पर एक अस्थायी प्रतिबद्धता के लिए प्रतिबद्ध करता है। इसके बाद बल उन्हें एक दूरस्थ SYNC शाखा में धकेल देता है। फिर यह अपनी अस्थायी प्रतिबद्ध को अनचाही कर देता है, यह सिर्फ स्थानीय शाखा पर किया गया है, फिर यह स्थानीय गिट रेपो को वापस ठीक उसी तरह से रखता है जैसे कि यह उस समय किसी भी फाइल को मंचित करके किया गया था, जिसे पहले स्क्रिप्ट कहा जाता था। इसके बाद, यह rsyncPC2 पर स्क्रिप्ट की एक प्रति है, और sshPC2 सामान करने के लिए एक विशेष विकल्प के साथ स्क्रिप्ट को चलाने के लिए PC2 को बताने के लिए एक कॉल करता है ।
  2. यहाँ PC2 क्या करता है: यह cdरेपो में है, और यह देखने के लिए जाँचता है कि क्या कोई स्थानीय परिवर्तन मौजूद नहीं है। यदि ऐसा है, तो यह वर्तमान शाखा (नमूना नाम: my_branch_SYNC_BAK_20200220-0028hrs-15sec<- ध्यान दें कि YYYYMMDD-HHMMhrs - SSsec) से दूर की गई एक नई बैकअप शाखा बनाता है , और उस शाखा में किसी भी तरह के परिवर्तन नहीं करता है जो प्रतिबद्ध संदेश के साथ होता है जैसे DO BACKUP OF ALL। PC2 पर अनर्जित परिवर्तन (लक्ष्य पीसी / भवन मशीन)। अब, यह SYNC शाखा की जाँच करता है, इसे दूरस्थ रिपॉजिटरी से खींचता है अगर यह पहले से ही स्थानीय मशीन पर नहीं है। फिर, यह दूरस्थ रिपॉजिटरी पर नवीनतम परिवर्तन लाता है, और स्थानीय SYNC रिपॉजिटरी को दूरस्थ SYNC रिपॉजिटरी से मेल खाने के लिए मजबूर करने के लिए एक हार्ड रीसेट करता है। आप इसे "हार्ड पुल" कह सकते हैं। हालाँकि, यह सुरक्षित है, क्योंकि हमने पहले से ही पीसी 2 पर स्थानीय स्तर पर किसी भी तरह के परिवर्तन नहीं किए हैं, इसलिए कुछ भी नहीं खोया है!
  3. बस! अब आपने साफ-सुथरी वर्किंग डायरेक्टरी सुनिश्चित करने के लिए PC1 से PC2 तक की एक परफेक्ट कॉपी तैयार कर ली है, क्योंकि स्क्रिप्ट ने आपके लिए ऑटोमैटिक कमिटिंग और स्टफ को संभाल लिया है! यह तेज़ है और विशाल रिपॉजिटरी पर बहुत अच्छा काम करता है। अब आपके पास किसी भी मशीन पर अपनी पसंद की किसी भी आईडीई का उपयोग करने के लिए एक आसान तंत्र है, किसी अन्य मशीन का निर्माण या परीक्षण करते समय, आसानी से, अपने सेल फोन से एक वाईफाई हॉट स्पॉट पर, यदि आवश्यक हो, भले ही रिपॉजिटरी दर्जनों गीगाबाइट का हो और आपके पास समय हो और संसाधन-विवश।

संसाधन:

  1. पूरी परियोजना: https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles
    1. स्रोत कोड में ही इस परियोजना के भीतर टन और लिंक और संदर्भ देखें।
  2. "हार्ड पुल" कैसे करें, जैसा कि मैं इसे कहता हूं: मैं स्थानीय फ़ाइलों को अधिलेखित करने के लिए "गिट पुल" को कैसे मजबूर कर सकता हूं?

सम्बंधित:

  1. कंप्यूटर के बीच git रिपॉजिटरी सिंक, जब घूम रहा हो?
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.