গিটে কমিট ডেটা পরীক্ষা করার সঠিক উপায় কী?


13

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

প্রি-কমিট হুক করার সমস্যাটি হ'ল এমন অনেক ব্যক্তির কাছে মোতায়েন করা কঠিন, যাদের ম্যানুয়ালি তাদের প্রি-কমিট হুক ফাইলটি আপডেট করতে হবে। পাশাপাশি, গিট আপনাকে .git ফোল্ডারে সাবমোডিয়ুলগুলি রাখার অনুমতি দেয় না যা হায়রে হস্তক্ষেপের জন্য খুব সহজ ছিল been

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

কারও কি এই সমস্যা সম্পর্কে কোনও অন্তর্দৃষ্টি আছে? এবং যদি তা হয় তবে আপনি আমাকে উদাহরণ আপডেট হুক স্ক্রিপ্টের দিকে সরবরাহ করতে বা নির্দেশ করতে পারেন? এটি কীভাবে কাজ করে তা সম্পর্কে আমি কিছুটা বিভ্রান্ত।


4
এটি একটি দুর্দান্ত প্রথম প্রশ্ন।
দেনিথ

উত্তর:


7

আপনি অযোগ্য কোডটি প্রতিশ্রুতিবদ্ধ হতে চান না বা ধাক্কা দিয়ে / পুনরায় প্রবাহিত হয়ে প্রবাহিত করতে চান না তা আপনাকে প্রথমে বের করতে হবে।

আমার মতে পরবর্তীটি আরও সম্ভাব্য।

গিটের মতো ডিভিসিএস সহ। প্রতিটি বিকাশকারী কীভাবে তার স্থানীয় সংগ্রহস্থল ব্যবহার করে আপনি তা নিয়ন্ত্রণ করতে চান না। এবং আপনি সত্যিই যে নিয়ন্ত্রণ করতে পারে না।

একটি প্রাক কমিট হুক বেসিক বৈধতা এবং স্যানিটাইজেশন হিসাবে ভাল কাজ করে, জড়িত সবাই যদি স্বেচ্ছায় এটি আলিঙ্গন করে। আমরা আসলে আমাদের সংস্থায় looseিলে .ালাভাবে প্রয়োগ করি। তবে এটি সর্বদা এড়িয়ে যেতে পারে git commit --no-verify

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

এই স্বয়ংক্রিয় বৈধতাটি মান নিয়ন্ত্রণ প্রতিস্থাপনের জন্য নয়, আমার ধারণা, যা সাধারণত কোড পর্যালোচনা বা জুড়ি প্রোগ্রামিংয়ের মাধ্যমে অর্জিত হয়।

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


1

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

মানক সমাধানটি একটি সার্ভার-সাইড হুক হবে। আপনি সম্ভবত একটি pre-receiveহুক সেট আপ করতে চাইবেন , যা প্রতিবার কোনও ধাক্কা আসার পরে চলে এবং যা চাইলে তা ধাক্কা দিতে পারে না। বাকিগুলি আপনি যে সঠিক চেক করতে চান তার উপর নির্ভর করে।

এটি প্রো গিট , .3.৩ অধ্যায়ে গিটকে অনুকূলিতকরণ - গিট হুকস এ ব্যাখ্যা করা হয়েছে


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