"গিট পুশ হিরকু মাস্টার" কীভাবে জানে এবং অন্য রেপোতে কীভাবে চাপ দিতে হয়?


92

হিরোকুতে হোস্ট করা একটি সংগ্রহস্থলের দিকে ধাক্কা দেওয়ার সময় নিম্নলিখিত কমান্ডটি কার্যকর করতে হবে:

git push heroku master

এই আদেশে কি herokuএবং masterনির্দেশ করে? গিট কীভাবে জানবে কোথায় ঠেলতে হবে? (গিট পথ)

এছাড়াও, আমি জানতাম না আমি heroku renameকোনও অ্যাপ্লিকেশনটির নাম পরিবর্তন করতে পারি , তাই আগে বলুন যে আমি অ্যাপ্লিকেশনটির নাম ট্রাইস্ট্রিওরোকু ব্যবহার করছিলাম এবং এখন আমি ব্যবহার heroku create real-thingকরি তবে আমি যদি চাপ দিই, তবে এটি ট্র্রিস্টেরেরোকুকে ধাক্কা দেয় ... এর দিকে এগিয়ে যাওয়ার উপায় আছে কি? পরিবর্তে আসল জিনিস?

উত্তর:


107

'হিরকু' অংশটি আপনার যে রিমোটটি সেটআপ করেছে তার নাম - আপনি যখন প্রথমবার কোনও হিরকু অ্যাপ্লিকেশন তৈরি করেন তখন এটি আপনার অ্যাপ্লিকেশনটির দিকে লক্ষ্য রেখে গিট রিমোট কল 'হিরকু' তৈরি করে - যদি আপনি আপনার প্রকল্পের মধ্যে 'গিট রিমোট' টাইপ করেন তবে আপনাকে দূরবর্তী শেষগুলি দেখায় show রিমোটের নাম হিসাবে 'হিরকু' ব্যবহার করে আপনাকে লক করার কিছুই নেই - আপনার অ্যাপ্লিকেশনের জন্য যদি আপনার একাধিক পরিবেশ থাকে তবে আপনার কাছে উদাহরণস্বরূপ উত্পাদনের নামকরণ বা মঞ্চায়ন থাকতে পারে ot

'মাস্টার' অংশটি সেই স্থানীয় শাখা যা আপনি রিমোটে যেতে চান। যদি আপনি কোনও বৈশিষ্ট্য শাখায় বিকাশ করেন উদাহরণস্বরূপ 'মাইফিচার' নামে এবং আপনি হিরকুতে এটি স্থাপন করতে চান তবে আপনি যা করবেন;

git push heroku myfeature:master

অতিরিক্ত: মাস্টার এখানে বলছেন যে আমার স্থানীয় myfeatureশাখাটি masterদূরবর্তী শাখায় রাখুন - নোট: হিরকু কেবলমাত্র মাস্টার শাখা থেকে মোতায়েন করতে পারে can

যদি আপনি কোনও অ্যাপ্লিকেশনটির নাম পরিবর্তন করেন হিরকু গিট রিমোট ইউআরএল পরিবর্তিত হয় - এমন একটি কাজ করুন git remote -v যা আপনাকে দেখায় যে গিট রেপো আপনার অ্যাপ্লিকেশনটি ব্যবহার করছে, সম্ভবত আপনাকে আপনার পুরানো হেরকু উত্স মুছতে হবে এবং নতুনটি যুক্ত করতে হবে, git remote rm herokuতারপরেgit remote add heroku git@newgitpathfromcontrolpanel

গিট সম্পর্কে আরও জানতে আমি এই বইয়ের সুপারিশ করব


আপনি git remote set-url <remote-name> <new-url>(গিট ১..0.০ এবং তার পরে) এর সাথে একটি রিমোটের ইউআরএল আপডেট করতে পারেন git config remote.<remote-name>.url <new-url>, বা সম্পাদনা করে .git/config(সম্ভবত git config -eগিট ১.6.৩ এবং তারপরে)।
ক্রিস জনসন

4
এটা খুব সহায়ক ছিল। আপনাকে ধন্যবাদ
দিয়েগো ইউরেনিয়া

43

পার্ট 1: "গিটটি কীভাবে জানবে যে কোথায় যেতে হবে?"

উপরোক্ত আদেশটি কার্যকর করার আগে:

$ git push heroku master

কার্যকর করার জন্য অন্যান্য কয়েকটি পদক্ষেপ রয়েছে: গিট ও হেরোকু ইনস্টল করা, স্থানীয় গিট রেপো তৈরি করা, হিরকুতে সাইন আপ করা, কমান্ড-লাইনের মাধ্যমে হিরকুকে লগ-ইন করা, হোস্টিং পয়েন্টে হিরকু হ্যান্ডেল তৈরি করা ( পার্ট ২ তে বর্ণিত )

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
    ...

২. হিরোকুর জন্য সাইন-আপ (এডি) এবং কমান্ড-লাইনের মাধ্যমে লগ-ইন করুন:

$ 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আপনি কোড / অ্যাপ্লিকেশনটিকে হিরোকুতে ঠেলে দিয়েছেন।


পার্ট 2: তবে হিরকুমাস্টার কী বোঝায়?

এটি হিরোকুর চেয়ে গিট প্রশ্ন বেশি - হেরোকু একটি হোস্টিং প্ল্যাটফর্ম, যা মোতায়েনের জন্য গিট (বিতরণযোগ্য সংস্করণ নিয়ন্ত্রণ ব্যবস্থা) এর উপর নির্ভর করে।

'ধাক্কা' দেওয়ার প্রাথমিক ধারণাটি আমাদের কাছে (আমাদের ওয়ার্কিং মেশিনে) অন্য কোনও স্থানে (কিছুক্ষণ কোনও ফাইল (অ্যাপ্লিকেশন, ..) চাপ দিচ্ছে, এক্ষেত্রে দূরবর্তী সংগ্রহস্থল (রিমোট মেশিন) এ।

গিটে 'পুশ' ব্যবহার করার আগে আমরা একটি রিমোট (হ্যান্ডেল) তৈরি করি যা দূরবর্তী সংগ্রহস্থল (সম্পূর্ণ 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

শেষ লাইনটি লক্ষ্য করুন " গিট দূরবর্তী হিরকু যুক্ত হয়েছে "।

এটিকে আরও স্পষ্ট করার জন্য, সমস্ত রিমোটগুলি পরীক্ষা / আউটপুট করার জন্য এখানে একটি গিট কমান্ড রয়েছে: it গিট রিমোট -v নীচের মতো কিছু প্রদর্শন করবে

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

সুতরাং আমরা ধরে নিতে পারি যে নিম্নলিখিত কমান্ডটি কার্যকর করা হয়েছিল (কোথাও) কোথাও, যখন আপনি $ হিরকু তৈরি করেছিলেন , তাই হিরকু রিমোটটি কিছু হেরকু রেপো (ইউআরএল) তৈরি করেছেন *

$ 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


লক্ষ্য করুন যে, দূরবর্তী শাখা হবে স্বাভাবিকভাবে শাখা আপনি ঠেলাঠেলি করছেন তার অনুরূপ নামে তৈরি করা। এটি পরিবর্তিত হতে পারে, যদিও (গিট পুশ হিরকু মাস্টার: মায়ামাস্টার উদাহরণস্বরূপ, বা কনফি ফাইলের মাধ্যমে)
সেহে

4
এই উত্তর অসত্য। herokuএটি রিমোটের নাম, এবং হিরকু মণি থেকে সম্পূর্ণ সংযুক্ত।
জারগ্যাসন


1

আপনার মত আমিও গিট এবং হিরকু এর এই কৌতুকপূর্ণ বুদ্ধি বুঝতে লড়াই করেছি এবং আমিও বিভ্রান্ত হয়ে পড়েছিলাম। তবে এখন আমি আপনার প্রশ্নের সংক্ষিপ্ত উত্তর দিতে সক্ষম হতে কিছুটা স্পষ্টতা পেয়েছি।

ধরে নিচ্ছি আপনার প্রকল্প ডিরেক্টরিতে গিট সেটআপ রয়েছে। আপনার প্রকল্প ফোল্ডারে একটি .git লুকানো ফোল্ডার রয়েছে যার মধ্যে "কনফিগারেশন" নামের একটি ফাইল রয়েছে এটি রিমোটস সম্পর্কিত সমস্ত তথ্য ধারণ করে।

রিমোটগুলি হ'ল উত্স, হিরকু, স্টেজিং, প্রোড ইত্যাদির মতো স্বতন্ত্রভাবে নামকরণ করা আপনার ব্যক্তিগত সংগ্রহস্থল are

আপনার কমান্ডে হিরকু হ'ল হরেকু প্রজেক্টে ম্যাপ করেছেন এমন ভাণ্ডারকে বোঝায়। কনফিগারেশন ফাইলটি খুলুন আপনি URL টি দেখতে পাবেন।

আপনি যখন দৌড়াবেন

git push heroku master

আপনি গিটকে বলছেন যে আপনার বর্তমান উত্সের সংগ্রহস্থলের মাস্টার শাখাটি হিরকু রেপোজিটরির মাস্টার শাখায় ঠেলাতে হবে

বাকি সমস্ত বিবরণ ইতিমধ্যে অন্যান্য উত্তরে ভাগ করা হয়েছে যাতে ডোনোট পুনরাবৃত্তি করতে চায় না। সুতরাং এটি আমার উপলব্ধি অনুসারে একটি সংক্ষিপ্ত উত্তর। আশা করি এটা সাহায্য করবে.


0

তবে আমি যদি ধাক্কা দিই, তবে এটি ট্রাইস্ট্রিওরোকুকে ধাক্কা দেয় ... পরিবর্তে বাস্তবের দিকে ধাক্কা দেওয়ার কোনও উপায় আছে কি?

আপনার উত্তর হিরকুতে আগ্রহী হতে পারে এমন উত্তরটি আমি পেয়েছি:

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

এইভাবে, হিরকু জানবে কোথায় ঠেলা!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.