কাঁটাযুক্ত রেপো থেকে কীভাবে টানার অনুরোধ আপডেট করবেন?


592

তাই আমি প্রথমে একটি রেপো কাঁটাচামচ করেছিলাম এবং তারপরে সেই কাঁটাযুক্ত রেপোতে একটি প্রতিশ্রুতিবদ্ধ করেছি। আমি তখন একটি টান অনুরোধ খুললাম। টান অনুরোধটি আমি চাইলে সমস্ত পরিবর্তন তালিকাভুক্ত করে।

আমার টানার অনুরোধটি পর্যালোচনা করার পরে, রেপো মালিক এটি গ্রহণ করার আগে আমাকে বেশ কয়েকটি পরিবর্তন আনতে চেয়েছিল। আমি আমার কাঁটাচামচগুলিতে এই পরিবর্তনগুলি করেছি, এখন আমি কীভাবে এই পরিবর্তনগুলি দিয়ে পুল অনুরোধটি আপডেট করব (বা এটি কীভাবে আমার পরিচালনা করা উচিত নয়)?



7
@ পলড্রাপার আমি একমত নই, যে ব্যবহারকারী ইতিমধ্যে একটি পুল অনুরোধ আপডেট করার জন্য বিভিন্ন পদ্ধতি জেনেছেন এবং উপস্থাপন করেছেন এবং কোনটি সেরা তা জিজ্ঞাসা করুন। আমি অন্যদিকে, কোনও পদ্ধতি সম্পর্কে জানতাম না এবং তাদের অস্তিত্ব সম্পর্কে জিজ্ঞাসা করছিলাম। এই প্রশ্নের জনপ্রিয়তা যেমন দেখায়, এটি অন্যান্য অনেক ব্যবহারকারীর ক্ষেত্রেও এটি।
স্টিভবট

6
আমি মনে করি জনপ্রিয়তা এই কারণে যে (1) এটি একটি ভাল, সাধারণ প্রশ্ন এবং (2) কিছু ব্যবহারকারী ওখানে না গিয়ে এখানে ক্ষতবিক্ষত হয়েছে। যদি এটি মূলত সদৃশ হিসাবে চিহ্নিত করা হত তবে তারা অন্য প্রশ্নটি একই হতে পারে এবং তাদের প্রশ্নের উত্তর খুঁজে পেত।
পল ড্রপার

উত্তর:


583

আপনি এটি সঠিকভাবে করেছেন। টানার অনুরোধটি স্বয়ংক্রিয়ভাবে আপডেট হবে। প্রক্রিয়াটি হ'ল:

  1. ওপেন টানার অনুরোধ
  2. আপনার স্থানীয় রেপোতে প্রতিক্রিয়ার ভিত্তিতে পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ
  3. আপনার কাঁটাচামড়ার প্রাসঙ্গিক শাখায় ঠেলাঠেলি করুন

পুল অনুরোধটি পুল অনুরোধ আলোচনার নীচে স্বয়ংক্রিয়ভাবে নতুন কমিট যুক্ত করবে (যেমন এটি ইতিমধ্যে রয়েছে, নীচে স্ক্রোল করুন! )


73
চমৎকার! আমি সর্বত্র যাচাই করছিলাম কিন্তু আসল টান অনুরোধ। এর যাদু, কালো যাদু, আমি এটি নিয়ে প্রশ্ন করব না।
স্টিভবট

57
শাখায় কাজ করার এটি একটি ভাল কারণ। উদাহরণস্বরূপ, আপনি সর্বদা মাস্টারকে ঠেলে দিলে আপনি অজান্তেই আপনার পূর্বের পুলের অনুরোধটি যুক্ত করতে পারেন।
ব্রায়ান প্যান

3
এটি অতীতে যেমন ছিল তবুও এটি আর প্রদর্শিত হবে না। আমি নিজেই ( github.com/toopay/bootstrap-markdown/pull/167 ) শাখার তুলনায় ( github.com/mhuggins/bootstrap-markdown/commits/… ) তুলনায় একটি টানা অনুরোধের উদাহরণ এখানে দেওয়া হয়েছে । প্রক্রিয়াটি বদলে গেছে বলে মনে হচ্ছে কীভাবে এটি আর করবেন।
ম্যাট হাগিনস 14

1
গিটহাব আসলে আপনাকে বলেছে: "চেঞ্জডওয়ার্ল্ডপ্রজেক্টের সলভ ওয়ার্ল্ডহুঞ্জার শাখায় ঠেলা দিয়ে আরও কমিট যোগ করুন।"
ফ্লো 2 কে

1
এখানে একই - আমি প্রধান সংগ্রহস্থলে কাঁটাযুক্ত রেপো থেকে পরিবর্তনগুলি দেখতে পাচ্ছি না। গিটহাব বাগের মতো দেখে
অ্যান্ড্রাফাস

77

গিটহাবে একটি টানার অনুরোধ আপডেট করা যেমন বিদ্যমান শাখায় কাঙ্ক্ষিত পরিবর্তন সম্পাদন করা তত সহজ (এটি পুল অনুরোধের সাথে ব্যবহৃত হয়েছিল) তবে প্রায়শই এটি পরিবর্তনগুলি একক প্রতিশ্রুতিতে স্কোয়াশ করতেও চাওয়া হয়:

git checkout yourbranch
git rebase -i origin/master

# Edit command names accordingly
  pick   1fc6c95 My pull request
  squash 6b2481b Hack hack - will be discarded
  squash dd1475d Also discarded

git push -f origin yourbranch

... এবং এখন টানার অনুরোধে কেবল একটি কমিট রয়েছে।


প্রত্যাবাসন সম্পর্কিত সম্পর্কিত লিঙ্কগুলি:


2
পুনর্বাসনের কথা উল্লেখ করার জন্য আপভোট করুন। এটি পুনর্বিবেচনার ইতিহাসে গোলমাল কাটাতে সহায়তা করে।
স্টিভবট

+11 (হ্যাঁ আমি মূল পুনরুক্তি করতে চেয়েছিলাম g গিট রিবেস / পিক / স্কোয়াশ ব্যবহার করে দুর্দান্ত কাজ করছে
জাভদ্বা

11
এই পদ্ধতির খারাপ দিকটি হ'ল আপনি আপনাকে পূর্বের প্রতিশ্রুতি সরিয়ে দিচ্ছেন। এর অর্থ যদি টানতে অনুরোধ করা হয় তবে সেগুলি হারিয়ে যাবে এবং মূল প্রতিশ্রুতি সহ অদৃশ্য হবে।
ব্লোক্যাম্প

বিটবকেটে আপনি একটি টানার অনুরোধে কোনও ফাইলের "পূর্ববর্তী সংস্করণগুলি" সম্পর্কে মন্তব্য দেখতে পারেন। যদিও জেরিটের মতো এমন কিছু দেখতে ভাল লাগবে যেখানে আপনি প্যাচ করেন এবং মন্তব্যগুলি দিয়ে পুরো ইতিহাসটি দেখতে পাবেন। আপনি ফিরে যেতে পারেন এবং কোনও প্রতিশ্রুতিবদ্ধ সম্পর্কে সম্পূর্ণ আলোচনা দেখতে পারেন এটি একটি ঝরঝরে গিট ইতিহাস এবং সন্ধানের জন্য তৈরি করে।
প্রেম করুন

35

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


14

আমি এটি নীচের পদক্ষেপগুলি ব্যবহার করে করেছি:

  1. git reset --hard <commit key of the pull request>
  2. কোডটিতে আমার পরিবর্তনগুলি আমি করতে চেয়েছিলাম
  3. git add
  4. git commit --amend
  5. git push -f origin <name of the remote branch of pull request>

1
খুব ভাল, আমি এই পদ্ধতির পছন্দ! গিটহাব এমনকি কোড এবং সম্পর্কিত মন্তব্যগুলির পুরানো বিভাগগুলি লুকিয়ে রাখে (তবে রাখে)। এটি মনে রাখা ভাল যে যদি পুল অনুরোধে বেশ কয়েকটি কমিট থাকে এবং ফিক্সিংয়ের প্রয়োজনের একটি যদি শাখার ডগায় না থাকে তবে "গিট রিসেট --হার্ড" নির্দিষ্ট আইডির পরে করা সমস্ত পরিবর্তন বাতিল করে দেবে। আমার একটি ব্যাকআপ ছিল যা আমি ম্যানুয়ালি প্রয়োগ করেছি। একাধিক কমিট থাকলেও খুব সুবিধাজনক নয় ...
নাগেভ

3

যদি উইন্ডোজে গিটহাব ব্যবহার করা হয় :

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

এ কারণেই, আপনি নিজের পরিবর্তন করা শুরু করার আগে, আপনাকে যে অনুরোধটি প্রয়োগের পরিকল্পনা রয়েছে তার প্রতিটি সেটের জন্য আপনার একটি শাখা তৈরি করা উচিত। এইভাবে, একবার আপনি টানার অনুরোধটি তৈরি করার পরে, তারপরে আপনি অন্য একটি শাখা তৈরি করতে পারবেন এবং পূর্বের পুল অনুরোধকে প্রভাবিত না করেই অন্য কোনও কাজ / বৈশিষ্ট্য / বাগফিক্সের কাজ চালিয়ে যেতে পারেন।

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