किसी मौजूदा हर्को ऐप के साथ एक फ़ोल्डर कैसे लिंक करें


814

मेरे पास GitHub पर एक मौजूदा रेल ऐप है और हरोकू पर तैनात है। मैं एक नई विकास मशीन स्थापित करने की कोशिश कर रहा हूं और इस परियोजना को मेरे GitHub रिपॉजिटरी से क्लोन किया है। हालाँकि, मैं कैसे इस फ़ोल्डर को हरोकू तक लिंक करने के लिए उलझन में हूँ। मूल रूप से, मैंने heroku createकमांड का उपयोग किया था, लेकिन जाहिर है कि मैं इस बार ऐसा नहीं करना चाहता क्योंकि यह एक और हरोकू उदाहरण बनाएगा।

जवाबों:


1242

हरोकिट आपकी परियोजनाओं को herokuगिट रिमोट के आधार पर जोड़ता है (और कुछ अन्य विकल्प, नीचे अपडेट देखें)। अपने वर्तमान रिपॉजिटरी में रिमोट के रूप में अपने हरोकू रिमोट को जोड़ने के लिए, निम्न कमांड का उपयोग करें:

git remote add heroku git@heroku.com:project.git

जहां projectआपके हरोकू प्रोजेक्ट का नाम है ( project.heroku.comउपडोमेन के समान )। एक बार जब आप ऐसा कर लेते हैं, तो आप heroku xxxxकमांड्स का उपयोग कर सकते हैं (यह मानते हुए कि आपके पास हरोकू टूलबेल स्थापित है), और हरकोक को हमेशा की तरह धक्का दे सकते हैं git push heroku master। शॉर्टकट के रूप में, यदि आप कमांड लाइन टूल का उपयोग कर रहे हैं, तो आप टाइप कर सकते हैं:

heroku git:remote -a project

जहां, फिर, projectआपके हरोकू प्रोजेक्ट का नाम है (धन्यवाद, कर्नल पैनिक )। आप जितने रिमोट को पास करके चाहते हैं उसका नाम रख सकते हैं -r remote_name

[अपडेट करें]

जैसा कि टिप्पणियों में बेन ने उल्लेख किया है, काम करने के लिए रिमोट herokuको मणि आदेशों के लिए नामित करने की आवश्यकता नहीं है । मैंने स्रोत की जाँच की , और ऐसा प्रतीत होता है कि यह इस तरह काम करता है:

  1. यदि आप --appविकल्प (जैसे heroku info --app myapp) के माध्यम से एक ऐप का नाम निर्दिष्ट करते हैं , तो यह उस ऐप का उपयोग करेगा।
  2. यदि आप विकल्प के माध्यम से एक Git दूरस्थ नाम निर्दिष्ट करते हैं --remote(जैसे heroku info --remote production), तो यह उस Git रिमोट से जुड़े ऐप का उपयोग करेगा।
  3. यदि आप कोई विकल्प नहीं heroku.remoteबताते हैं और आपने अपनी Git config फाइल में सेट किया है, तो यह उस रिमोट से जुड़े ऐप का उपयोग करेगा (उदाहरण के लिए, git config heroku.remote productionअपने रिपॉजिटरी में "रिमोट" का उपयोग करने के लिए डिफ़ॉल्ट रिमोट सेट करने के लिए , और Heroku git config heroku.remoteमान पढ़ने के लिए चलेगा इस सेटिंग का)
  4. यदि आप कोई विकल्प नहीं निर्दिष्ट करते हैं, तो मणि आपकी .git/configफ़ाइल में कोई कॉन्फ़िगरेशन नहीं पाता है , और मणि केवल आपके Git रीमोट में एक रिमोट ढूंढता है, जिसका URL में "heroku.com" है, यह उस रिमोट का उपयोग करेगा।
  5. यदि इनमें से कोई भी काम नहीं करता है, तो यह एक त्रुटि उठाता है जो आपको --appआपके आदेश को पारित करने का निर्देश देता है।

ऊपर दिए गए "स्रोत" का लिंक काम नहीं करता है। हो सकता है कि इस पृष्ठ को आज़माएँ : devcenter.heroku.com/articles/use-the-cli - हालांकि मुझे लगता है कि डॉक पर्याप्त नहीं है।
पर्पलजेट 19

1
यदि आप heroku git:remoteविधि का उपयोग करने का प्रयास करते हैं , तो जांच लें कि आप हरकोल टूलबेल्ट क्ली का उपयोग कर रहे हैं, और आपके पास अभी भी आपके सिस्टम पर कोई भी हर्कोक मणि स्थापित नहीं है (लगता है कि यह मेरे लिए पुराने रत्नों के साथ काम नहीं करता था)।
पियरे-एड्रियन ब्यूसन

3
इसके अलावा, कई हरोकू शाखाओं के लिए आप $ git config heroku.remote <appname>डिफ़ॉल्ट ऐप सेट करने के लिए उपयोग कर सकते हैं ताकि आप उस ऐप के लिए टर्मिनल कमांड का उपयोग कर सकें।
शहरयार

1
अगर http का उपयोग किया heroku loginजाता है, तो रिमोट फॉर्म का हैhttps://git.heroku.com/project-name.git
अधिकतम pleaner

1
नोट: हेरोकू अब प्रोजेक्ट ओवरव्यू में इसका वर्णन करता है: डैशबोर्ड.हेरोको डॉट कॉम पर नेविगेट करें, अपने ऐप पर क्लिक करें, फिर "परिनियोजित करें" टैब पर जाएँ और परिनियोजन विधि "हेरोकू गिट" (डिफ़ॉल्ट रूप से चयनित) चुनें। फिर, आपको निर्देश मिलेगा कि मौजूदा फ़ोल्डर / गिट को हेरोकू से कैसे जोड़ा जाए।
काम

230

Heroku CLI इस के लिए एक आसान शॉर्टकट है। 'गिरने-हवा -1624' नाम के ऐप के लिए:

$ heroku git:remote -a falling-wind-1624
Git remote heroku added.

Https://devcenter.heroku.com/articles/git#creating-a-heroku-remote देखें


1
! Resource not found
ग्रीन

1
आप जिस भी चीज़ को पास करके चाहते हैं उसका नाम रख सकते हैं-r other_remote_name
मास्टरस्कैट

2
यह अभी भी ऐसा करने का सही तरीका है, भले ही आपने अपने हरोकू ऐप को सीधे GitHub से कनेक्ट किया हो। ध्यान दें कि यह आपके "मूल" रिमोट को अधिलेखित नहीं करेगा; इसके बजाय एक "heroku" रिमोट बनाता है।
सेठ

144

मत भूलो, अगर आप एक मशीन पर भी हैं, जहाँ आपने पहले कभी हॉकू की स्थापना नहीं की है

heroku keys:add

या आप रेपो को धक्का या खींचने में सक्षम नहीं होंगे।


3
अरे हाँ! इससे मुझे भी मदद मिली। मेरे पास एक ऐप था जहां हमने बुनियादी शुरुआत की, फिर "हेरोकू" को "स्टेजिंग" और "प्रोडक्शन" में विभाजित किया। तो मैंने किया git remote add staging git@staging.xx:yy.gitऔर git remote add production git@production.xx:yy.git- लेकिन यह पर्याप्त नहीं था। जब मैंने करने की कोशिश की git push staging master(या उत्पादन) तो मुझे "अनुमति से इनकार (पिल्लेकी) किया गया। घातक: दूरस्थ अंत अप्रत्याशित रूप से लटका दिया गया"। heroku keys:addघोटी उल्लेख के अनुसार उस त्रुटि को क्या तय करना था ।
19

8

पुराने ऐप के लिए एक नई तैनाती प्रणाली स्थापित करते समय ध्यान रखने वाली दो बातें

1. हरोकू (विशेष रूप से ऐप) के लिए अपनी ऐप एक्सेस की जांच करने के लिए

heroku apps

यह उन ऐप्स को सूचीबद्ध करेगा जिनकी आपके पास पहुंच है यदि आप पहली बार सेट करते हैं, तो आपको संभवतः इसकी आवश्यकता होगी

heroku keys:add

2. इसके बाद अपना git रिमोट सेट करें

पहले से ही बनाए गए हरोकू ऐप के लिए, आप आसानी से heroku git: remoteकमांड के साथ अपने स्थानीय रिपॉजिटरी में रिमोट जोड़ सकते हैं । आपको बस अपने हरोकू ऐप का नाम चाहिए:

heroku git:remote -a appName

आप रिमोट रिमोट नाम बदलने के साथ अपने रिमोट का नाम बदल सकते हैं:

git remote rename heroku heroku-dev(you desired app name)

तब आप git रिमोट कमांड का उपयोग करके इस बात की पुष्टि कर सकते हैं कि आपके ऐप के लिए रिमोट सेट किया गया है

 git remote -v

4

हरको के कांटे का उपयोग करें

  1. नए "heroku कांटा" कमांड का उपयोग करें! यह सभी पर्यावरण की नकल करेगा और आपको बाद में गीथूब रेपो को अपडेट करना होगा!

    heroku fork -a sourceapp targetapp
    
  2. यह स्थानीय क्लोन

    git clone git@heroku.com:youamazingapp.git
    
  3. गितुब पर एक नया रेपो बनाएं और इसे जोड़ें

    git remote add origin https://github.com/yourname/your_repo.git
    
  4. गिथब पर धक्का

    git push origin master
    



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