মূল লেখায় যান

প্রকল্প GitHub-এ সংরক্ষণ করুন

সংক্ষেপেMonstarX-এর GitHub App দিয়ে এক ক্লিকে GitHub সংযুক্ত করুন (কোনো টোকেন লাগে না — রিপোজিটরি আপনিই বেছে নেন), তারপর প্রকল্পের ওপরের বারে GitHub বোতাম চেপে নতুন রিপোজিটরি তৈরি করুন বা বিদ্যমান একটির সঙ্গে যুক্ত করুন। MonstarX পুরো প্রকল্প পুশ করে, তারপর নিজের প্রতিটি পরিবর্তন কমিট করে — আর GitHub-এ আপনার কমিট করা পরিবর্তন টেনে আনে। ইমপোর্ট করা অ্যাপ সিঙ্ক হয় monstarx নামের একটি ব্রাঞ্চে, তাই আপনার নিজের ব্রাঞ্চ কখনো সরে না।

GitHub হলো সেই জায়গা, যেখানে ডেভেলপাররা কোড রাখেন, প্রতিটি পরিবর্তনের ইতিহাসসহ। একটি MonstarX প্রকল্পকে একটি GitHub রিপোজিটরির (GitHub-এ প্রকল্পের ফোল্ডার) সঙ্গে যুক্ত করুন, তাহলে দুটি দুই দিক থেকেই মিলেমিশে চলবে: MonstarX যা তৈরি করে তা সেখানে কমিট হিসেবে পুশ হয়, আর আপনি বা কোনো ডেভেলপার সেখানে যা কমিট করেন তা MonstarX-এ ফিরে আসে।

এটি কাজে লাগে যখন কোনো ডেভেলপার নিজের এডিটরে কোড নিয়ে কাজ করতে চান, যখন আপনার প্রতিষ্ঠান সব কোড GitHub-এ রাখে, কিংবা যখন আপনি GitHub থেকে ডিপ্লয় করেন — যেমন Railway তা-ই করে।

কীভাবে GitHub অ্যাকাউন্ট সংযুক্ত করবেন?

“কীভাবে GitHub অ্যাকাউন্ট সংযুক্ত করবেন?” অংশ

পুরো MonstarX অ্যাকাউন্টের জন্য GitHub একবারই সংযুক্ত করতে হয় — সেটিংসইন্টিগ্রেশন থেকে, অথবা যেকোনো প্রকল্পের GitHub বোতাম থেকে। সবচেয়ে সহজ উপায় MonstarX-এর GitHub App: কোনো টোকেন তৈরি বা পেস্ট করতে হয় না, আর MonstarX ঠিক কোন কোন রিপোজিটরিতে হাত দিতে পারবে তা আপনিই ঠিক করেন।

  1. ব্যক্তিগত GitHub অ্যাকাউন্ট সংযুক্ত করুন বোতামে ক্লিক করুন।

  2. GitHub খুলে জানতে চায় অ্যাপটি কোথায় ইনস্টল করবে। আপনার ব্যক্তিগত অ্যাকাউন্ট বেছে নিন (কোনো অর্গানাইজেশন নয়)।

  3. MonstarX কোন কোন রিপোজিটরি ব্যবহার করতে পারবে তা বেছে নিন: All repositories, অথবা Only select repositories বেছে পছন্দের রিপোজিটরিগুলোতে টিক দিন। পরে GitHub-এ গিয়ে এটি বদলাতে পারবেন।

  4. Install বোতামে ক্লিক করুন, তারপর GitHub নিশ্চিত করতে বললে Authorize বোতামে।

  5. আপনি MonstarX-এ ফিরে আসবেন। কার্ডে লেখা থাকবে সংযুক্ত · GitHub App।

GitHub App নিয়ে কয়েকটি কথা জেনে রাখুন:

  • অর্গানাইজেশনের অনুমোদন লাগে না। এটি শুধু আপনার ব্যক্তিগত অ্যাকাউন্টে ইনস্টল হয়। ভুল করে কোনো অর্গানাইজেশন বেছে নিলে MonstarX আপনাকে ব্যক্তিগত অ্যাকাউন্টে ইনস্টল করে আবার চেষ্টা করতে বলে।
  • নতুন রিপোজিটরি তৈরি হয় আপনার ব্যক্তিগত অ্যাকাউন্টে। আপনি Only select repositories বেছে নিলেও MonstarX নিজের তৈরি রিপোজিটরিতে সবসময় পৌঁছাতে পারে।
  • আপনার বেছে নেওয়া রিপোজিটরিগুলোই সীমা। বিদ্যমান কোনো রিপোজিটরি যুক্ত করতে হলে সেটি অবশ্যই এমন হতে হবে, যার অ্যাক্সেস আপনি অ্যাপটিকে দিয়েছেন। আরও যোগ করুন GitHub-এর ইনস্টল করা অ্যাপের সেটিংসে।
  • অ্যাক্সেস স্বল্পমেয়াদি, আর নিজে থেকেই নবায়ন হয়, এনক্রিপ্ট করে সংরক্ষিত থাকে। এটি কখনো আপনার ব্রাউজারে পাঠানো হয় না।

সংযুক্ত করার অন্য উপায়

“সংযুক্ত করার অন্য উপায়” অংশ

চাইলে আরও দুটি পদ্ধতি আছে:

পদ্ধতিকখন ব্যবহার করবেন
সীমিত অ্যাক্সেসসহ ব্যক্তিগত রিপোজিটরি (সেটিংসে: সীমিত অ্যাক্সেস দিয়ে ব্যক্তিগত রিপোজিটরি সংযুক্ত করুন)আপনি চান MonstarX একটি ব্যক্তিগত অ্যাক্সেস টোকেন (একটি নির্দিষ্ট কাজের জন্য GitHub-এ তৈরি করা পাসওয়ার্ড) দিয়ে ঠিক একটি রিপোজিটরিতে পৌঁছাক। একটি fine-grained টোকেন তৈরি করুন: রিসোর্স মালিক হিসেবে আপনার ব্যক্তিগত অ্যাকাউন্ট, শুধু সেই রিপোজিটরি, আর Contents: read and write। রিপোজিটরিটি আগে GitHub-এ তৈরি করে নিন; এ ধরনের টোকেন দিয়ে নতুন রিপোজিটরি তৈরি করা যায় না।
বরং GitHub-এর অনুমতি দিয়ে সংযুক্ত করুনআপনি যেসব অর্গানাইজেশনের সদস্য, সেগুলোর রিপোজিটরিতে পুশ করতে চান। GitHub-এর সাধারণ সাইন-ইন স্ক্রিনে সেই অর্গানাইজেশনগুলোর অ্যাক্সেসও থাকতে পারে, তাই অনুমতি দেওয়ার আগে দেখে নিন।

সংযুক্ত হয়ে গেলে কার্ডে দেখা যায় কীভাবে সংযুক্ত (GitHub App, GitHub দিয়ে সাইন ইন করেছেন বা ব্যক্তিগত অ্যাক্সেস টোকেন), আর MonstarX যেসব রিপোজিটরি হালনাগাদ রাখে তার তালিকা — প্রতিটি শেষ কবে সিঙ্ক হয়েছে, আর সিঙ্ক স্বয়ংক্রিয় নাকি ম্যানুয়ালি। পরে অন্য উপায়ে সংযুক্ত করলে পুরোনো সংযোগের জায়গা নেয় নতুনটি; যুক্ত রিপোজিটরিগুলো যুক্তই থাকে।

কীভাবে প্রকল্প GitHub-এ সংরক্ষণ করবেন?

“কীভাবে প্রকল্প GitHub-এ সংরক্ষণ করবেন?” অংশ
  1. প্রকল্প খুলে ওপরের বারে GitHub বোতামে ক্লিক করুন। (প্রকল্পের সেটিংসরপ্তানি পৃষ্ঠার এটি GitHub-এ রাখুন অংশেও এটি আছে।)

  2. অ্যাকাউন্ট এখনো সংযুক্ত না থাকলে সেখানেই সংযুক্ত করে নিন।

  3. নতুন রিপোজিটরি বা বিদ্যমান রিপোজিটরি বেছে নিন:

    • নতুন রিপোজিটরি — মালিক বেছে নিন (আপনি বা আপনার কোনো অর্গানাইজেশন), রিপোজিটরির নাম লিখুন, কোড সবার জন্য খোলা রাখতে না চাইলে প্রাইভেট রিপোজিটরি ঘরে টিক রেখে দিন, তারপর রিপোজিটরি তৈরি করে পুশ করুন বোতামে ক্লিক করুন।
    • বিদ্যমান রিপোজিটরি — owner/repository লিখুন বা তার github.com ঠিকানা পেস্ট করুন, চাইলে একটি ব্রাঞ্চ দিন (খালি রাখলে ডিফল্ট ব্রাঞ্চ), তারপর লিঙ্ক এবং সিঙ্ক বোতামে ক্লিক করুন। রিপোজিটরিতে পুশ করার অনুমতি আপনার অ্যাকাউন্টের থাকতে হবে।
  4. MonstarX পুরো প্রকল্পটি ডিপ্লয়ের জন্য প্রস্তুত একটি রিপোজিটরি হিসেবে পুশ করে। সিঙ্ক হয়ে গেলে GitHub বোতামে একটি সবুজ বিন্দু দেখা যায়।

নতুন রিপোজিটরি শুরু হয় একটি কমিট দিয়ে: “Initial commit from MonstarX”। বিদ্যমান রিপোজিটরিতে প্রকল্পটি ব্রাঞ্চের ওপর নতুন কমিট হিসেবে যোগ হয়, আর MonstarX যেসব ফাইল সামলায় না — LICENSE, CI ওয়ার্কফ্লো, ডকুমেন্টেশন — সেগুলোতে কখনো হাত দেয় না।

রিপোজিটরিতে কী কী যায়?

“রিপোজিটরিতে কী কী যায়?” অংশ

রপ্তানি যা যা দেয়, সবই: অ্যাপের কোড, MonstarX-এর ফ্রেমওয়ার্ক ফাইল, অ্যাপ চালানো ও ডিপ্লয়ের কনফিগারেশন, ডেটাবেস মাইগ্রেশন, অ্যাপের দরকারি সিক্রেটগুলোর নামের তালিকা (মান কখনো নয়) আর একটি README।

কিছু জিনিস কখনো GitHub-এ যায় না:

  • সিক্রেটের মান, অ্যাপের ডেটাবেসের সারি আর আপলোড করা ফাইল MonstarX-এই থাকে।
  • স্প্রেডশিট থেকে ইমপোর্ট করা সারি কখনো পুশ হয় না, কারণ রিপোজিটরি পাবলিক হতে পারে, আর সেগুলো আপনার গ্রাহকদের তথ্য।
  • বাইনারি ফাইল আর 1 MB-এর বড় ফাইল বাদ দেওয়া হয়, এবং সিঙ্ক লগে তালিকা দেখানো হয়।

MonstarX কখন সিঙ্ক করে?

“MonstarX কখন সিঙ্ক করে?” অংশ

প্রতিটি পরিবর্তন স্বয়ংক্রিয়ভাবে পুশ করুন চালু থাকলে (ডিফল্টভাবে চালু থাকে) MonstarX সিঙ্ক করে:

  • অ্যাপের ফাইল বদলেছে এমন প্রতিটি অনুরোধের পর — কমিট বার্তা হয় আপনার অনুরোধটি;
  • QA-এর স্বয়ংক্রিয় সমাধানের পর;
  • কোনো সংস্করণ পুনরুদ্ধার করার পর;
  • কোড ভিউতে কোনো ফাইল সংরক্ষণ বা মুছে ফেলার পর।

GitHub মেনুর এখন সিঙ্ক করুন যখন খুশি পুশ ও পুল করে। হাতে হাতে সিঙ্ক করতে চাইলে স্বয়ংক্রিয় পুশ বন্ধ করে দিন।

কেউ GitHub-এ কোড সম্পাদনা করলে কী হয়?

“কেউ GitHub-এ কোড সম্পাদনা করলে কী হয়?” অংশ

GitHub-এ যেমন করেন তেমনই কমিট করুন। পরের সিঙ্কে MonstarX পরিবর্তনগুলো প্রকল্পে টেনে আনে:

  • অ্যাপের নিজস্ব ফাইলের (src/, public/, migrations/ ও README.md) পরিবর্তন MonstarX-এ আসে। প্রিভিউ হালনাগাদ হয়, নতুন ডেটাবেস মাইগ্রেশন চলে, আর সংস্করণ মেনুতে GitHub থেকে: ও কমিটের বিষয় দিয়ে নাম দেওয়া একটি সংস্করণ দেখা যায়।
  • চ্যাটে একটি কার্ড, যেমন “GitHub থেকে 3টি ফাইল আনা হয়েছে”, ফাইলগুলোর তালিকা দেয়, যাতে আপনি আর MonstarX-এর এজেন্ট দুজনেই জানেন কী বদলেছে।
  • MonstarX-এর ফ্রেমওয়ার্ক ফাইলের পরিবর্তন, যেমন package.json বা কনফিগারেশন, GitHub-এই থাকে, যতক্ষণ না MonstarX নিজে পরের বার সেই ফাইলটি বদলায়।
  • একই ফাইল দুই দিকেই বদলালে MonstarX নিজের সংস্করণ রাখে, আর আপনার সংস্করণ GitHub-এর ইতিহাসে থেকে যায়। কার্ডে তা চিহ্নিত থাকে “উভয় দিকে পরিবর্তিত হয়েছে — MonstarX-এর সংস্করণ রাখা হয়েছে”।

যুক্ত হওয়ার পর GitHub মেনুতে কী দেখা যায়?

“যুক্ত হওয়ার পর GitHub মেনুতে কী দেখা যায়?” অংশ
  • রিপোজিটরি, তার ব্রাঞ্চ, আর সেটি প্রাইভেট নাকি পাবলিক।
  • শেষ কবে সিঙ্ক হয়েছে (যেমন কয়েক মিনিট আগে সিঙ্ক হয়েছে), অথবা কারণসহ শেষ সিঙ্ক ব্যর্থ হয়েছে।
  • এখন সিঙ্ক করুন ও রিপোজিটরি খুলুন।
  • প্রতিটি পরিবর্তন স্বয়ংক্রিয়ভাবে পুশ করুন।
  • সাম্প্রতিক সিঙ্ক — শেষ পাঁচটি, প্রতিটির কমিটসহ।
  • রিপোজিটরির সংযোগ সরান — সিঙ্ক বন্ধ করে। রিপোজিটরি GitHub-এই থেকে যায়।
  • সংযোগ বিচ্ছিন্ন করুন — আপনার GitHub অ্যাকাউন্টের সংযোগ বিচ্ছিন্ন করে। আবার সংযুক্ত না করা পর্যন্ত কিছুই পুশ হয় না।

GitHub থেকে ইমপোর্ট করা অ্যাপের কী হবে?

“GitHub থেকে ইমপোর্ট করা অ্যাপের কী হবে?” অংশ

যে রিপোজিটরিতে আপনি পুশ করতে পারেন, সেখান থেকে অ্যাপ ইমপোর্ট করলে প্রকল্পটি সেটির সঙ্গেই যুক্ত থাকে — monstarx নামের একটি নতুন ব্রাঞ্চে, যা শুরু হয় আপনার ইমপোর্ট করা কমিট থেকে। আপনার নিজের ব্রাঞ্চ কখনো সরে না। MonstarX-এর পরিবর্তনে সন্তুষ্ট হলে GitHub মেনুর পুল রিকোয়েস্ট খুলুন আপনাকে GitHub-এ নিয়ে যায়, যেখানে সেগুলো মার্জ করতে পারেন।

সাধারণ জিজ্ঞাসা

“সাধারণ জিজ্ঞাসা” অংশ
GitHub টোকেন কি লাগবে?

না। ব্যক্তিগত GitHub অ্যাকাউন্ট সংযুক্ত করুন MonstarX-এর GitHub App ইনস্টল করে: আপনি GitHub-এ সাইন ইন করেন, রিপোজিটরি বেছে নেন, ব্যস। ব্যক্তিগত অ্যাক্সেস টোকেন শুধু তাঁদের জন্য বিকল্প, যাঁরা এভাবে MonstarX-কে একটিমাত্র রিপোজিটরিতে সীমাবদ্ধ রাখতে চান।

GitHub App কি আমার প্রতিষ্ঠানের অর্গানাইজেশনে পৌঁছাতে পারে?

না — এটি শুধু আপনার ব্যক্তিগত অ্যাকাউন্টে ইনস্টল হয়, আর নতুন রিপোজিটরিও সেখানেই তৈরি করে। কোনো অর্গানাইজেশনের রিপোজিটরিতে পুশ করতে বরং GitHub-এর অনুমতি দিয়ে সংযুক্ত করুন দিয়ে সংযুক্ত করুন, অথবা অর্গানাইজেশনকে বলুন আপনাকে যোগ করতে, যাতে নিজের অ্যাকাউন্ট থেকে সেটি যুক্ত করতে পারেন।

পরে MonstarX-কে অন্য কোনো রিপোজিটরির অ্যাক্সেস কীভাবে দেব?

GitHub-এ ইনস্টল করা GitHub App-এর সেটিংস খুলে MonstarX বেছে নিন, তারপর রিপোজিটরিটি যোগ করুন (অথবা All repositories বিকল্পে বদলে দিন)। এরপর প্রকল্পের GitHub মেনু থেকে সেটি যুক্ত করুন।

আমার রিপোজিটরি কি প্রাইভেট?

নতুন রিপোজিটরি ডিফল্টভাবে প্রাইভেট — কোড পাবলিক করতে চাইলে তবেই প্রাইভেট রিপোজিটরি থেকে টিক তুলে দিন। MonstarX কখনো সিক্রেটের মান বা আপনার অ্যাপের ডেটা পুশ করে না।

আমার প্রতিষ্ঠানের অর্গানাইজেশনের কোনো রিপোজিটরি কি যুক্ত করা যায়?

হ্যাঁ, যদি আপনার GitHub অ্যাকাউন্ট সেখানে পুশ করতে পারে। বিদ্যমান রিপোজিটরি ব্যবহার করুন, অথবা নতুন রিপোজিটরি তৈরির সময় মালিক হিসেবে অর্গানাইজেশনটি বেছে নিন।

রিপোজিটরির সংযোগ সরিয়ে দিলে কী হয়?

MonstarX সিঙ্ক বন্ধ করে দেয়। রিপোজিটরি আর তার পুরো ইতিহাস GitHub-এই থাকে, আর পরে আবার যুক্ত করতে পারেন।

একজন ডেভেলপার GitHub-এ package.json বদলেছেন। সেটি ফিরে এল না কেন?

package.json ও কনফিগারেশনের মতো ফ্রেমওয়ার্ক ফাইল MonstarX নিজে সামলায়। এগুলোর সম্পাদনা GitHub-এই থাকে, যতক্ষণ না MonstarX পরের বার সেই ফাইলটি বদলায়; পরের সিঙ্কগুলো কখনো চুপিচুপি সেগুলো বাতিল করে না।

রিপোজিটরি থেকে কি ডিপ্লয় করা যায়?

হ্যাঁ। রিপোজিটরিটি ডিপ্লয়ের জন্য প্রস্তুত, আর Railway সেখান থেকেই ডিপ্লয় করে। আরও দেখুন অন্য হোস্টে প্রকাশ।

প্রকল্প স্থানান্তর করলে লিঙ্কের কী হয়?

লিঙ্কটি সরিয়ে দেওয়া হয়, যাতে নতুন মালিকের হয়ে আপনার GitHub অ্যাকাউন্টে কখনো কিছু পুশ না হয়। রিপোজিটরিটি নিজে যেমন ছিল তেমনই থাকে।