কোনও প্রকল্পে 2 জনের সাথে কী কাজ প্রবাহিত হয়


18

আমি আপনার কাছে একজন নবাগত প্রোগ্রামার হিসাবে এসেছি যিনি নিজের প্রকল্পে কাজ করছেন (যা সুন্দরভাবে এগিয়ে চলছে)। আমার সহ-প্রতিষ্ঠাতাও কীভাবে প্রোগ্রাম করবেন তা শিখছেন এবং এমন একটি পর্যায়ে পৌঁছেছেন যেখানে তিনি সম্ভবত কিছু জিনিস ঠিক করতে এবং কিছু ঘটতে শুরু করতে পারেন।

তিনি খুব ভাল প্রশ্ন জিজ্ঞাসা করেছিলেন, এটি ছিল "এটি কীভাবে কাজ করবে"। আমি অন্য কারও সাথে প্রোগ্রাম করি নি বলে এমন কিছু আমি কেবল তাত্ত্বিক করতে পারি। আপনি কি আমাকে সর্বোত্তম কাজের প্রবাহ সম্পর্কে পরামর্শ দিতে পারেন? আমরা গিট ব্যবহার করি

আমাদের কি সিস্টেমের নির্দিষ্ট অংশের মালিক হওয়া উচিত? কোড চেক করছেন? কোড পূনর্বিবেচনা?

আপনি> 1 দেবের সাথে কীভাবে কাজ করবেন?


1
আমার সেরা ইঙ্গিতটি এটি দেখতে হবে: nvie.com/posts/a-successful-git-branching-model দলে কোড সংগঠিত করার এক (ভাল) উপায়, এবং আমরা এটিও ব্যবহার করি

আপনি পরীক্ষা লিখেন?
নারকোজ

... @ নারকোজ - এখনও নেই। আমরা কিন্ডা ঠিক এদিকে ঝাঁপিয়ে পড়েছি Its এটির মতো কিছু করার জন্য আমি কেবল একটি বই কিনেছি।

2
@Geoff রাইট: দয়া করে আপনার প্রোফাইলে যান এবং গ্রহণ (পাশে চেকমার্ক বাটন আঘাত) উত্তরগুলি মানুষ এত অনুগ্রহপূর্বক আপনার প্রশ্নের প্রদান করে কিছু: stackoverflow.com/users/661241/geoff-wright
iwasrobbed

1
ব্যক্তিগত সংগ্রহস্থলগুলির জন্য
বিটবুকডটকম

উত্তর:


23

আমি এমন একটি দলে কাজ করি যা গিট ব্যবহার করে, যেখানে 40+ বিকাশকারীরা যে কোনও সময় একাধিক কোড সংগ্রহস্থল (100+) এ কাজ করছে। আমরা কয়েক বছরের ব্যবধানে দলের আকার বাড়িয়ে খুব কম বিকাশকারীদের সাথেও শুরু করেছিলাম started শুরুতে যদিও খুব কম লোকের সাথে আপনি কেবলমাত্র ন্যূনতম গিট জেনেও পালিয়ে যেতে পারেন। সময়ের সাথে সাথে আপনি শক্তিশালী বৈশিষ্ট্যগুলি আবিষ্কার করে আপনার গিট ফু উন্নত করবেন।

  1. আপনার কোড হোস্ট করার জন্য আপনার একটি জায়গা প্রয়োজন। ব্যবহার করার কথা বিবেচনা GitHub বা gitorious । উভয়ই ব্যবহারের জন্য নিখরচায়, তবে আপনার সংগ্রহস্থলগুলি সর্বজনীন এবং অন্যদের কাছে দৃশ্যমান হবে। আপনি যদি ব্যক্তিগত সংগ্রহস্থলগুলি চান তবে আপনি এগুলিকে বিনামূল্যে গিথুব এ হোস্ট করতে পারেন বা আপনার নিজের গিটারিয়াস সার্ভার ইনস্টল ও হোস্ট করতে পারেন
  2. শুরুতে উন্নত ওয়ার্কফ্লো সম্পর্কে চিন্তিত না হওয়াই ভাল যা কাঁটাচামচ, অনুরোধগুলি জড়িত। আপনি কেন্দ্রীয় পদ্ধতিতে গিট ব্যবহার করে (কাঁপুন!) শুরু করতে পারেন। আপনার হোস্ট করা অনুলিপিটিকে আপনার উত্স কোডের অনুমোদনযোগ্য অনুলিপি হিসাবে বিবেচনা করুন। এই সংগ্রহস্থল কল করতে দিন upstream
  3. আপনার একজন স্থানীয় গিট রিপোজিটরিতে সমস্ত কোড প্রতিশ্রুতিবদ্ধ করে এটিকে এই upstreamসংগ্রহস্থলে রাখুন।
  4. দলের অন্যান্য সদস্য এই সংগ্রহস্থলটি ক্লোন করতে পারেন।
  5. ন্যূনতম কমান্ড একটি সেট আপনি শিখতে হবে হয় clone, pull, push, add, commit, log, status, diff, branch, stash, apply, reset, format-patch, branchগিটটোরিয়াল থেকে সেগুলি সম্পর্কে আরও জানুন
  6. আপনি উভয়ই এখন কোডের যে কোনও অংশে কাজ করতে পারেন। আপনি দুজনেই একই ফাইলটি সম্পাদনা করলে কী হয় তা চিন্তা করবেন না। গিটটি মার্জগুলি পরিচালনা করতে এবং দ্বন্দ্বগুলি ঠিক করতে খুব ভাল good
  7. ছোট পারমাণবিক কমিট করুন এবং ভাল লগ বার্তা লিখুন । কমিট লগের জন্য বর্তমান কালটি ব্যবহার করুন। আপনার স্থানীয় অনুলিপিতে আপনার পছন্দ অনুসারে আপনি যে কোনও সংখ্যক কমিট করতে পারেন কারণ এটি অন্য ব্যক্তির কাজকে প্রভাবিত করে না।
  8. আপনি যখন মনে করেন যে আপনার কোডটি অন্যের সাথে ভাগ করে নেওয়ার জন্য প্রস্তুত, এটি সঞ্চিত্রে প্রকাশ করুন upstream। একটি ভাল অনুশীলন হ'ল আপনি ধাক্কা দেওয়ার আগে সর্বদা টান । আপনি নিজের সংগ্রহস্থলটিকে অন্যের পরিবর্তনের সাথে সুসংগত রাখেন।
  9. পুনরাবৃত্তি পদক্ষেপ 7এবং 8

আপনি যদি এই কর্মপ্রবাহের সাথে স্বাচ্ছন্দ্য বোধ করেন তবে আপনি আরও উন্নত স্টাফগুলিতে উন্নতি করতে পারবেন - টপিকাল শাখা, কাঁটাচামচ, অনুরোধগুলি টানুন, মার্জ করা, ইন্টারেক্টিভভাবে রেজিটেশন কমিটস ইত্যাদি

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

  1. পর্যালোচনা করার জন্য কমিটের একটি সেট তৈরি করুন git format-patch। এটি প্যাচ ফাইলগুলির একটি সেট তৈরি করবে। এই প্যাচগুলি পর্যালোচককে ইমেল করুন।
  2. পর্যালোচক প্যাচগুলি প্রয়োগ করতে পারেন git apply। এটি প্যাচ প্রয়োগ করে কিন্তু প্রতিশ্রুতি তৈরি করে না।
  3. কোডটি পর্যালোচনা করুন এবং পরামর্শ সহ ইমেল ফিরে back
  4. সন্তোষজনক হওয়া পর্যন্ত 1-2-3 পুনরাবৃত্তি করুন।
  5. পর্যালোচক নিশ্চিত করেছেন যে প্যাচগুলি ঠেলাঠেলি করা যেতে পারে upstream

আমি এই তালিকায় গিট রিবেস যুক্ত করতে চাই।
অ্যালক 27

1
আমি stash, apply, format-patchন্যূনতম জ্ঞানের অংশ যে একমত । আমি সাধারণত এই জিনিসগুলি শেখানোর আগে কয়েক মাস অপেক্ষা করি। আমি অনুমান করব যে> 50% দেব স্ট্যাশ করে না।
মাইকেল ডুরান্ট

1
কল করুন upstream originএবং এটি অন্যান্য উদাহরণগুলি (যা সাধারণত ব্যবহৃত হয় origin) অনুসরণ করা সহজতর করতে সহায়তা করবে।
মাইকেল ডুরান্ট

2

আমি এর জন্য গিথুব এবং এর সমস্ত কার্যকারিতা ব্যবহার করি। http://www.github.com/ এ এটি পরীক্ষা করে দেখুন যাতে আপনি আপনার সঙ্গীর সাথে কাজ করার জন্য শাখা, কাঁটাচামচ, সমস্যাগুলি, অনুরোধগুলি টানতে পারেন।


0

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

এর পরে আমি আপনার দুজনের মধ্যে যে কোনও চরিত্রে অভিনয় করতে যাচ্ছি তা সনাক্ত করব

  1. আপনি কি কোডের কার্যকারিতাটি টেন্ডোমে লিখতে চলেছেন বা একজন ব্যক্তি বাগ ফিক্সগুলি করতে যাচ্ছেন যখন অন্যটি বৈশিষ্ট্যগুলি অবিরত রাখছে।
  2. আপনি কি বেসিক কোডিং মানের একটি সেট তৈরি করতে চান যেমন ব্রেস পজিশন, প্রাইভেট সদস্য ভেরিয়েবল নামকরণ, ভেরিয়েবল এবং মেথড নামকরণ কনভেনশন (ক্যামেলকেস ইত্যাদি)
  3. আপনার কত ঘন ঘন চেক ইন করা দরকার I আমি প্রতিদিন কমপক্ষে একবার সুপারিশ করব যাতে আপনি উভয়ই অন্যটি বিশেষত কী করছেন তা দেখছেন কিনা তা নিশ্চিত করার জন্য would যদিও সর্বদা একটি চেকইন কোডটি বিল্ডেবল হওয়ার আগে তা নিশ্চিত করুন।
  4. তিনি বস, তবে আপনি কি প্রোগ্রামিংয়ের নেতৃত্ব হতে চলেছেন?

শুভকামনা!


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