একটি পুল অনুরোধ শুরু করা বা মাস্টারের উপর স্থানীয় মার্জ কমিট সম্পাদন করা কি ভাল?


12

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

তবে সম্প্রতি আমি গিট কীভাবে কাজ করে সে সম্পর্কে আরও বেশি করে পড়তে পেরেছি এবং আমি বুঝতে পেরেছি যে আমি শাখাগুলি একীভূত করার সময় আমি মার্জ-কমিটগুলি ব্যবহার করতে পারি।

সুতরাং, কোনও বৈশিষ্ট্য-শাখাটি মাস্টারে মার্জ করার সময় আমি কী করব: মাস্টারের সাথে
মার্জ-কমিট সম্পাদন করুন এবং তারপরে এটিকে প্রবাহিত করুন বা স্থানীয় শাখাটি পুশ করুন এবং একটি পুল অনুরোধ শুরু করবেন?

আমি একটি 2 ব্যক্তি দলের জন্য পুলের অনুরোধগুলি উপস্থাপন করে পড়েছি - আমার নিজের অনুরোধগুলিকে মার্জ করুন? এবং কী কাজ একটি প্রকল্প 2 মানুষের সাথে প্রবাহিত এবং সরকারী রেপো বা আমার কাঁটাচামচ উপর একটি শাখা থেকে বলা উচিৎ? খোলা টান অনুরোধ? তবে তাদের মধ্যে কেউই আমি যা খুঁজছি তার জবাব দেওয়ার মতো মনে হচ্ছে না।


2
এই উত্তরগুলি থেকে আপনি ঠিক কী অনুভব করছেন?
রাবারডাক

প্রথমটি এটিকে নিয়ে বোঝায় যে অনুরোধগুলি টানতে অনুরোধ করা সমালোচিত সমালোচনা করা। দ্বিতীয়টি একটি ওয়ার্কফ্লো সরবরাহ করে। তৃতীয়টি এমনকি সম্পর্কিত নয়।
আশার হাসান

1
আমি এটিকে সেরা অনুশীলনগুলি থেকে দেখছি বা কীভাবে একটি ভাল গিট ইতিহাসের দৃষ্টিভঙ্গি বজায় রাখতে পারি
আশার হাসান

1
আমি যখন কোনও পিআর মার্জ করি, তখন আমি স্থানীয়ভাবে শাখাটি মার্জ করে do এটি আমাকে মার্জটি পরিষ্কারভাবে প্রযোজ্য তা নিশ্চিত করতে এবং ফলাফল প্রকাশের আগে পরীক্ষাগুলি পুনরায় চালানোর অনুমতি দেয়। গিটহাবের পুল অনুরোধগুলি এই কার্যপ্রবাহের কেবল একটি আনুষ্ঠানিককরণ, গিট নিজেই পিআরএসের ধারণা রাখে না।
আমন

2
যখন কোনও পিআর একীভূত হয় এটি মাস্টারের সাথে একীভূত প্রতিশ্রুতি তৈরি করে, তাই আমি মনে করি না যে এটি গিটার ইতিহাসে কোনও পার্থক্য করে। সুতরাং আমি মনে করি না কমান্ড লাইন এবং গিথুব ইউআইয়ের মধ্যে আপনার ব্যক্তিগত পছন্দকে বাদ দিয়ে একটি বা অন্যটিকে ব্যবহার করার কোনও কারণ আছে।
Ixrec

উত্তর:


15

Git-একত্রীকরণ প্রক্রিয়া:
ব্যবহার git merge featureথাকাকালীন মাস্টার শাখা সংযোজন featureকরতে masterহবে এবং একটি উত্পাদন করে merge-commitGit ইতিহাসে (যদি শাখা দ্রুত অগ্রবর্তী করতে হতে পারে)। তৈরি করার জন্য জোর merge-commitকরতে, --no-ffবিকল্পটি সাথে ব্যবহার করুন merge

মার্জ পুল অনুরোধের প্রক্রিয়াটি:
যখন আমরা গিটহাবের উপর একটি পুল অনুরোধ শুরু করি, এটি এমন একটি জায়গা তৈরি করে GitHub Issueযেখানে লোকেরা মার্জ হওয়ার আগে পিআর -তে করা কমিটগুলি নিয়ে কথা বলতে এবং আলোচনা করতে পারে। যখন কোনও পিআর গিটহাবের সাথে একীভূত হয় তখন এটি ঠিক একই জিনিসটি করে git merge feature

আমার কি করা উচিৎ?
সুতরাং, ইতিহাসের দিক থেকে, উভয়ের মধ্যে কোনও পার্থক্য নেই।
এবং অবদান যতদূর যায়, আপনার অবদানকারীদের দুটি পরিস্থিতিতে আলাদা কিছু করতে হবে না। তারা একই (বিয়োগ সুন্দর ছোট চ্যাট)।

সেরা অনুশীলন:
এবং আমি একটি সর্বোত্তম অনুশীলনগুলি খুঁজে পেতে সক্ষম হয়েছি কিন্তু যুক্তি বলছে যে रिपোরিটরিতে কেবলমাত্র একক ব্যক্তি থাকলে পিআরগুলি খুব বেশি সহায়ক হয় না।

@ ল্যাক্সেরেক এবং @amon আমাকে এই সিদ্ধান্তে পৌঁছাতে সহায়তা করেছে।


5
টিপ: git mergeএকটি "দ্রুত এগিয়ে" করতে পারলে মার্জ কমিট রেকর্ড নাও করতে পারে। একীভূত অঙ্গীকারকে বাধ্য করার জন্য, আপনি --no-ffবিকল্পটি যুক্ত করতে পারেন ।
আমন

আমি গিথুব ডটকম-এ না গিয়ে স্থানীয়ভাবে গিট-মার্জ করা পছন্দ করি, যদি আমি গিথুব.কম এ এমন কিছু করতে চাই তবে আমি সরাসরি মাস্টার শাখায় না করাই পছন্দ করি, আমি বরং নন-মাস্টার শাখা গ্রহণ করব যা প্রথমে পারে উত্পাদনের জন্য এটি উপলভ্য করার আগে মঞ্চের মোডে সেট করুন।
সিয়াস্তো পাইকার্জ

5

আশার যেমন বলেছিলেন, প্রযুক্তিগতভাবে এবং ইতিহাস অনুসারে কোনও পার্থক্য নেই। একটি ছোট টিম সহ প্রকল্পগুলির জন্য আমি পিআর তৈরির অতিরিক্ত ধাপের পরিবর্তে সরাসরি মার্জ করতে পছন্দ করি। যাইহোক, যখন কোনও বৈশিষ্ট্যের পর্যালোচনা / প্রতিক্রিয়া প্রয়োজন হয় বা যখন এটি ডাব্লুআইপি এবং একাধিক ব্যক্তি এতে কাজ করবে তখন আমি পিআর খোলার এবং পিআর এর বিবরণে কার্যের একটি তালিকা যুক্ত করার ঝোঁক রাখি।

নোট করুন যে git mergeমাস্টারটিতে কোনও পরিবর্তন না থাকলে দ্রুত-ফরওয়ার্ড ব্যবহার করতে পারে, তাই আপনি ব্যবহার করতে চাইতে পারেন git merge --no-ff। আমি না।

সুতরাং সংক্ষেপে, যখন আপনার আলোচনার দরকার হয় কেবল তখনই PR ব্যবহার করুন। অন্যথায় কেবল সরাসরি মার্জ করুন।


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