"Git पुश हेरोकू मास्टर" को कैसे पता चलता है कि कहां और कैसे एक अलग रेपो में पुश करना है?


92

हरोकू पर होस्ट किए गए भंडार पर धकेलने के बाद निम्नलिखित कमांड को निष्पादित करना चाहिए:

git push heroku master

इस आदेश में क्या करें herokuऔर masterइंगित करें? कैसे पता है कि धक्का कहाँ है? (गिट पथ)

इसके अलावा, मुझे नहीं पता था कि मैं heroku renameकिसी ऐप का नाम बदलने के लिए उपयोग कर सकता हूं , इसलिए पहले कहता हूं कि मैं ऐप नाम ट्रायट्रीहेरोकू का उपयोग कर रहा था और अब मैं उपयोग करता हूं heroku create real-thingलेकिन अगर मैं धक्का देता हूं, तो यह अभी भी ट्रिप्ट्रीहोकू को धक्का देता है ... क्या धक्का देने का एक तरीका है इसके बजाय असली बात?

जवाबों:


107

'हेरोकू' भाग उस रिमोट का नाम है जिसे आपने सेटअप किया है - जब आप पहली बार एक हॉकोकू ऐप बनाते हैं तो यह आपके एप्लिकेशन को इंगित करते हुए एक git रिमोट कॉल बनाता है - यदि आप अपने प्रोजेक्ट के भीतर 'git रिमोट' टाइप करते हैं तो आपको दूरस्थ समापन बिंदु दिखाएगा। रिमोट के नाम के रूप में आपको 'हेरोकू' का उपयोग करने पर कोई रोक नहीं है - यदि आपके पास आपके आवेदन के लिए कई वातावरण हैं, तो आपके पास नामांकित उत्पादन या उदाहरण के लिए मंचन हो सकता है।

'मास्टर' भाग वह स्थानीय शाखा है जिसे आप रिमोट पर धकेलना चाहते हैं। यदि आप 'myfeature' नामक उदाहरण के लिए एक सुविधा शाखा में विकसित होते हैं और आप चाहते हैं कि आप उसे हेरोकू में तैनात करें;

git push heroku myfeature:master

अतिरिक्त: मास्टर यहाँ कह रहा है कि मेरी स्थानीय myfeatureशाखा को masterदूरस्थ शाखा में धकेल दें - ध्यान दें: हरोकू केवल मास्टर शाखा से ही तैनात हो सकता है।

यदि आप एक ऐप का नाम बदलते हैं तो हरोकू गिट रिमोट url बदल जाएगा - एक ऐसा काम करें git remote -v जो आपको दिखाएगी कि आपका ऐप जिस git का उपयोग कर रहा है, आपको संभवतः अपने पुराने heroku मूल को हटाना होगा और नया जोड़ना होगा, git remote rm herokuफिरgit remote add heroku git@newgitpathfromcontrolpanel

Git के बारे में अधिक जानने के लिए मैं इस पुस्तक की सिफारिश करूंगा


आप एक दूरस्थ URL को git remote set-url <remote-name> <new-url>(Git 1.7.0 और बाद में), या git config remote.<remote-name>.url <new-url>संपादन के द्वारा .git/config(संभवतः git config -eGit 1.6.3 और बाद के माध्यम से ) अपडेट कर सकते हैं ।
क्रिस जॉन्सन

3
यह बहुत मददगार था। धन्यवाद
डिएगो उ्रेनिया

43

भाग 1: "कैसे पता चलता है कि कहाँ धक्का देना है?"

उपर्युक्त आदेश को निष्पादित करने से पहले:

$ git push heroku master

निष्पादित करने के लिए हमेशा कुछ अन्य चरण होते हैं: Git और Heroku को स्थापित करना, एक स्थानीय Git रेपो बनाना, Heroku पर साइन-अप करना, कमांड-लाइन के माध्यम से लॉग-इन हेरोकू, होस्टिंग बिंदु पर Heroku हैंडल बनाना ( PART 2 में समझाया गया )

1. एक स्थानीय गिट भंडार:

    $ git init
    Initialized empty Git repository in .git/
    $ git add .
    $ git commit -m "my first commit"
    Created initial commit 5df2d09: my first commit
     44 files changed, 8393 insertions(+), 0 deletions(-)
     create mode 100644 README
     create mode 100644 Procfile
     create mode 100644 app/controllers/source_file
    ...

2. हेरोकू के लिए साइन-अप (एड) और कमांड-लाइन के माध्यम से लॉग-इन करें:

$ heroku login
Enter your Heroku credentials.
Email: user@example.com
Password:
Could not find an existing public key.
Would you like to generate one? [Yn]
Generating new SSH public key.
Uploading ssh public key /Users/adam/.ssh/id_rsa.pub

इसलिए रन करके $ git push heroku masterआपने Heroku को कोड / ऐप धक्का दिया है।


भाग 2: लेकिन हरोकू और मास्टर क्या संकेत देते हैं?

यह हरोकू की तुलना में एक Git प्रश्न अधिक है - हरोकू एक होस्टिंग प्लेटफॉर्म है, जो तैनाती के लिए Git (वितरित संस्करण नियंत्रण प्रणाली) पर निर्भर करता है।

'पुश' की मूल अवधारणा किसी चीज़ (फ़ाइल, ऐप, ..) को स्थानीय स्तर पर (हमारी कामकाजी मशीन में) कहीं और, इस मामले में दूरस्थ रिपॉजिटरी (दूरस्थ मशीन) को आगे बढ़ा रही है।

'पुश' का उपयोग करने से पहले Git में हम एक रिमोट (हैंडल) बनाते हैं जो रिमोट रिपॉजिटरी (कम्प्लीट URL) के संदर्भ के रूप में कार्य करता है, हम निम्न कमांड का उपयोग करते हैं:

$ git remote add <remote-name-of-our-choice> <URL-where-you-be-pushing-yourapp>

'पुश' कमांड की मूल संरचना है:

$ git push <remote-name> <branch>

तो $ git push heroku masterवास्तव में आपके कोड / ऐप / फ़ाइल (कुछ स्थानीय गिट रेपो से) को दूरस्थ रेपो 'हरोकू' पर धकेल रहा है।

सोच रहा था कि जब यह 'हेकुओ' रिमोट बन गया, तो यह तब जोड़ा गया जब आपने $ हॉकू क्रिएट किया

$ heroku create
Creating stark-fog-398... done, stack is cedar
http://stark-fog-398.herokuapp.com/ | git@heroku.com:stark-fog-398.git
Git remote heroku added

" Git Remote heroku गयी " अंतिम पंक्ति पर ध्यान दें ।

इसे और अधिक स्पष्ट करने के लिए, सभी रीमोट की जाँच / आउटपुट के लिए यहाँ एक Git कमांड है: $ git रिमोट -v निम्नलिखित के समान कुछ प्रदर्शित करेगा

$ git remote -v
heroku     git@heroku.com:somerepo.git (fetch)
heroku     git@heroku.com:somerepo.git (push)

तो हम मान सकते हैं कि निम्नलिखित कमांड को कहीं न कहीं निष्पादित किया गया था (स्पष्ट रूप से), जब आपने $ हेरोकू बनाया था , इसलिए हेरोकू रिमोट को कुछ हेरोकू रेपो (url) * में बनाया गया था

$ git remote add heroku git@heroku.com:somerepo.git

12

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

git remote -v

यदि आपको इसे बदलने की आवश्यकता है, git remote rm herokuतो इसे हटा दें और फिर इसके साथ योरू नया एप्लिकेशन जोड़ेंgit remote add heroku git@heroku.com:your-application-15.git


ध्यान दें कि दूरस्थ शाखा आम तौर पर उसी नाम से बनाई जाएगी जिस शाखा को आप धक्का दे रहे हैं। इसे बदला जा सकता है, (git push heroku master: mymaster उदा, या confgi फ़ाइल के माध्यम से)
sehe

2
यह उत्तर असत्य है। herokuरिमोट का नाम है, और हरोकू रत्न से पूरी तरह से जुड़ा नहीं है।
jergason


1

आप की तरह ही मैं भी गित और हरोकू के इन नटखट किरदारों को समझने के लिए संघर्ष करता रहा और मैं भी उलझन में था। लेकिन अब मुझे थोड़ी सी स्पष्टता मिल गई है कि मैं आपके प्रश्न का उत्तर संक्षेप में दे पाऊंगा।

मान लें कि आपके पास अपनी परियोजना निर्देशिका पर गिट सेटअप है। आपके प्रोजेक्ट फ़ोल्डर में एक .git छिपा हुआ फ़ोल्डर मौजूद है जिसमें "config" नाम की एक फ़ाइल है जिसमें यह रिमोट के बारे में सभी जानकारी रखता है।

उपाय आपके व्यक्तिगत रिपॉजिटरी हैं जिन्हें व्यक्तिगत रूप से नाम दिया गया है जैसे मूल, हरोकू, मंचन, ठेस आदि।

अपने आदेश में हरोकू उस रिपॉजिटरी के लिए खड़ा है जिसे आपने हरको प्रोजेक्ट में मैप किया है। Open config फाइल आप URL देखेंगे।

जब तुम दौड़ते हो

git push heroku master

आप अपने वर्तमान रिपॉजिटरी की मास्टर ब्रांच को गोकू रिपॉजिटरी की मास्टर ब्रांच में जाने के लिए कह रहे हैं

बाकी सभी विवरण पहले से ही अन्य उत्तरों में साझा किए गए हैं इसलिए डोनट दोहराना चाहते हैं। तो यह मेरी समझ के अनुसार सिर्फ एक छोटा सा उत्तर है। आशा करता हूँ की ये काम करेगा।


0

लेकिन अगर मैं धक्का, यह अभी भी trytryheroku करने के लिए धक्का ... वहाँ के बजाय असली बात करने के लिए धक्का है?

मुझे जवाब मिला कि आपको हरोकू में दिलचस्पी हो सकती है:

https://dashboard.heroku.com/apps/NAMEOFYOURAPP/deploy/heroku-git

$ cd my-project/
$ git init
$ heroku git:remote -a nameofyourapp

$ git add .
$ git commit -am "make it better"
$ git push heroku master

इस तरह, हरोकू को पता चल जाएगा कि उसे कहां धकेलना है!

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