আপনি কীভাবে ওয়েব ইন্টারফেসে একটি গিটহাব রেপো ফর্ক আপডেট করবেন?


58

আমার কাছে একটি গিথুব সংগ্রহশালা রয়েছে যা আমি বেশ কয়েক মাস আগে অন্য কোনও প্রকল্প থেকে শুরু করেছিলাম। এটি এখন বেশ কয়েক মাস পরে এবং মূল মাস্টার রেপো পরিবর্তন হয়েছে। আমি এই পরিবর্তনগুলি প্রতিফলিত করতে আমার রেপো আপডেট করতে চাই। গিথুব ওয়েব ইন্টারফেসে এটি কি সম্ভব? বা আমার কি কেবল রেপো মুছে ফেলা এবং এটি আবার কাঁটাচামচ করা দরকার?




উত্তর:


43

আপনি কীভাবে অনুরোধগুলি ঘটে তা কীভাবে বিপরীত করতে পারেন।

  1. আপনার কাঁটা কাঁটাতে যান
  2. একটি পুল অনুরোধ জারি করুন

    ডিফল্টরূপে এটির ডানদিকে ( হেড রেপো ) কাঁটাচামচ করা এবং তার বামদিকে আসল রেপো ( বেস রেপো ) পরিবর্তন করার অনুরোধ করে অনুরোধ করা হচ্ছে head

  3. উভয় বেস রেপো এবং হেড রেপো জন্য ড্রপ ডাউন ক্লিক করুন এবং একে অপরের repos নির্বাচন করুন।

    আসল সংগ্রহস্থলটি ডানদিকে থাকাকালীন আপনার পরিবর্তনগুলি বামে তালিকাভুক্ত করা (পরিবর্তনগুলি গ্রহণ করা) আপনি চান (পরিবর্তনগুলির সাথে ধাক্কা দেওয়ার জন্য) want এই ছবিতে চিত্রিত:

    কাঁটাচামচ নিজেই করেছেন

  4. টান অনুরোধ পাঠান

    যদি আপনার কাঁটাচামচায় কোনও পরিবর্তন না ঘটে তবে আপনি স্বয়ংক্রিয়ভাবে মার্জটি গ্রহণ করতে সক্ষম হবেন।

যদি আপনার কোডটি কোনওভাবে দ্বন্দ্ব সৃষ্টি করে বা যথেষ্ট পরিষ্কার না হয় তবে এটি গিটহাব ওয়েব ইন্টারফেসের মাধ্যমে আপডেট করার জন্য কাজ করবে না এবং আপনার কাঁটাতে ফিরে যাওয়ার আগে আপনার কোডটি ধরে নিতে হবে এবং আপনার মেশিনে কোনও দ্বন্দ্ব সমাধান করতে হবে।


3
এটি এখনও কাজ করে তবে হ্যাঁ এটি আদর্শ নয়। এটি অবশ্যই একটি কৌশল। এটি করার সঠিক উপায় নয়।
জ্যাক উইলসন

3
একটি খারাপ ধারণা নিশ্চিত করেছেন। এটি সংগ্রহস্থলকে এমনভাবে দূষিত করে যে গিথুব আপনাকে মূল প্রকল্পটিতে খালি কমিট করার অনুরোধ জানায়। উদাহরণস্বরূপ দেখুন github.com/dthommes/RoboSpring/pull/3 - একবার আমি এতে অবদান রাখলাম , তারপরে আমি সিঙ্ক করেছি এবং এখন গিথুব আমাকে "সিঙ্কিং আমার কাঁটাচামচ" প্রতিশ্রুতিবদ্ধ করার অনুরোধ করেছে যাতে "dthommes / মাস্টার থেকে মার্জ পুল অনুরোধ # 1 লেবেলযুক্ত রয়েছে … "
usr-local-ΕΨΗΕΛΩΝ

1
আমি মনে করি না এটি আর কাজ করে না। যদিও এটি কিছুটা অদ্ভুত বলে মনে হচ্ছে এটি করার কোনও সহজ উপায় নেই।
টবি অ্যালেন

1
আমি এটা চেষ্টা করে, এবং এটি অবিলম্বে করা হয়নি বলে মনে হচ্ছে কাজ করতে - যখন পরিবর্তন এক কাটাচামচ তা অবিলম্বে একটি "তুলনা পরিবর্তন" পৃষ্ঠা খোলা হয়। তবে "কাঁটা তুলতে কাঁটা তুলনা করুন" লিঙ্কটি ক্লিক করে অন্য কাঁটাচামচটি যেভাবেই পরিবর্তন করার অনুমতি দেওয়া হয়েছে clicking সম্ভবত আপনি আপনার উত্তরে এই প্রভাবটিতে কিছু যুক্ত করতে পারেন।
পিটার মর্টেনসেন

4
গিটহাবের একটি "সিঙ্ক ফর্ক" বোতাম যুক্ত করা উচিত যাতে আপনার একটি মিলিয়ন পিআর তৈরি করতে হবে না now আপাতত আমি আমার কাঁটাচামচ আপডেট করতে কমান্ড লাইনটি ব্যবহার করছি
সুচি ডোগা

22

এটা আরও সহজ হবে।

  1. ফোর্কড রেপোতে যান (আপনার) এবং কেবল বোতামটি ক্লিক করুন - "নতুন টানার অনুরোধ"।
  2. খোলা পৃষ্ঠায়, ড্রপডাউন সিলেকের নীচে বার্তায় "সুইচিং বেস" এর একটি ছোট লিঙ্ক রয়েছে। লিঙ্কটিতে ক্লিক করুন.
  3. এখন এটি স্বয়ংক্রিয়ভাবে আপনার মূল রেপোতে নিয়ে যাবে। তৈরি করুন অনুরোধ বোতামটি ক্লিক করুন এবং কিছু প্রতিশ্রুতি বার্তা লিখুন।
  4. এখন এটি আপনার কাঁটাযুক্ত রেপো স্বয়ংক্রিয়ভাবে পরিচালিত করবে, মার্জ পুল অনুরোধে ক্লিক করুন এবং সমাপ্তির জন্য মার্জ নিশ্চিত করুন

এই সবুজ বোতামগুলি কী তা আপনার স্পষ্ট করা উচিত এবং এটি একটি দুর্দান্ত প্রতিক্রিয়া হতে পারে ....
রডরিগো গ্রাভা

এটি 4/2016 হিসাবে অবশ্যই সেরা উত্তর।
dr01

7
এই পদ্ধতির সমস্যাটি হ'ল এটি আপনার শাখায় একটি অতিরিক্ত প্রতিশ্রুতি যুক্ত করে, তাই এটি আপস্ট্রিম রেপোর সাথে সত্যই সিঙ্ক হয় না।
মট্টি

@ মট্টি কি আমাদের জানার কোনও উপায় আছে যে আমাদের কাঁটাচামড়া সর্বশেষতম প্রবাহ সংস্করণের পিছনে রয়েছে এবং সেগুলি আসলে এগুলি না টানিয়েই পরিবর্তনের একটি ভিন্নতা দেখায়?
সুজয় ফাদকে

1
@ সুজয়ফাদকে শাখার সিলেক্ট বোতামের নীচে আপনার মূল কাঁটাযুক্ত রেপো পৃষ্ঠায় একটি বার্তা হবে "এই শাখাটি এক্সএক্সএক্সএক্সএক্সএএমএক্স এর পিছনে কমিট করে: মাস্টার"। পার্থক্যটি দেখার জন্য, বার্তার মতো একই সারিতে একটি "তুলনা" বোতাম রয়েছে; অথবা আপনি এই লিঙ্কটিতে যেতে পারেন:https://github.com/{user}/{forkedRepoName}/compare/master...{originalRepo}:master
মটিটি

3

রিমোট আপস্ট্রি রেপোজিটরি থেকে পরিবর্তনগুলি সহ একটি কাঁটাগাছিত গিটহাব রেপো কীভাবে আপডেট করবেন


গিটহাব সহায়তা থেকে নির্দেশাবলী:

একটি দূরবর্তী কাঁটাচামচ কনফিগার করা হচ্ছে

একটি কাঁটাচামচ সিঙ্ক করা হচ্ছে


সেটআপ / অপারেশন নির্দেশাবলী:

গিট ব্যাশ (উইন্ডোজ) বা লিনাক্স / ম্যাক টার্মিনাল খুলুন

আপনি যদি এখনও আপনার সংগ্রহস্থলের ক্লোন না করে থাকেন তবে আপনাকে অবশ্যই আপনার বিকাশ ফোল্ডারের কার্যকারী ডিরেক্টরিতে পরিবর্তন করতে হবে এবং এটি আপনার ওয়ার্কস্টেশনে ক্লোন করতে হবে।

$ git clone https://github.com/YOUR_USERNAME/YOUR_FORK.git

আপনার ওয়ার্কস্টেশনে আপনার কাঁটাযুক্ত রেপোর কার্যকারী ডিরেক্টরিতে পরিবর্তন করুন।

$ cd /user/development/my_forked_repo/

আপনার কাঁটাচামচ জন্য বর্তমান কনফিগার করা দূরবর্তী সংগ্রহস্থল তালিকাবদ্ধ করুন।

 $ git remote -v

origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)

একটি নতুন রিমোট আপস্ট্রিম সংগ্রহস্থল নির্দিষ্ট করুন যা কাঁটাচামচ সহ সিঙ্ক হবে।

$ git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

আপনার কাঁটাচামচ জন্য নির্দিষ্ট করা নতুন প্রবাহের সংগ্রহস্থল যাচাই করুন।

$ git remote -v

origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

প্রবাহের সংগ্রহস্থল থেকে শাখা এবং তাদের স্ব স্ব স্ব সম্পাদন করুন। যাত্রাপথে মাস্টারগুলি স্থানীয় শাখায়, আপস্ট্রিম / মাস্টারে সংরক্ষণ করা হবে।

$ git fetch upstream

remote: Counting objects: 75, done.
remote: Compressing objects: 100% (53/53), done.
remote: Total 62 (delta 27), reused 44 (delta 9)
Unpacking objects: 100% (62/62), done.
From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
 * [new branch]      master     -> upstream/master

আপনার কাঁটাচালার স্থানীয় মাস্টার শাখাটি দেখুন।

$ git checkout master

Switched to branch 'master'

আপস্ট্রিম / মাস্টার থেকে আপনার স্থানীয় মাস্টার শাখায় পরিবর্তনগুলি মার্জ করুন। এটি আপনার কাঁটাচালনার মাস্টার ব্রাঞ্চ আপনার স্থানীয় পরিবর্তনগুলি না হারিয়ে প্রবাহের সংগ্রহস্থলের সাথে সিঙ্ক করে।

$ git merge upstream/master

Updating a422352..5fdff0f
Fast-forward
README                    |    9 -------
README.md                 |    7 ++++++
 2 files changed, 7 insertions(+), 9 deletions(-)
 delete mode 100644 README
 create mode 100644 README.md

যদি আপনার স্থানীয় শাখায় কোনও অনন্য কমিট না থাকে, তবে গিট পরিবর্তে "ফাস্ট-ফরোয়ার্ড" সম্পাদন করবে:

$ git merge upstream/master

Updating 34e91da..16c56ad
Fast-forward
 README.md                 |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

আপনাকে এখন নিজের কাঁটাচামচে কমিটগুলি ঠেকাতে হবে।

$ git push

আপনি যদি ইতিমধ্যে প্রমাণীকৃত না হন তবে এটি আপনার গিথব ব্যবহারকারীর নাম / পাসওয়ার্ডের জন্য অনুরোধ জানাবে। প্রমাণীকরণের পরে নতুন কমিটগুলি আপনার কাঁটাচামচায় ঠেলে দেওয়া হবে এবং গিথুবে দৃশ্যমান হবে।


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