টিএফএসে শেলভিং কী?


317

টিএফএসে শেলিং করা কি কেবল একটি সফট চেকিন যাতে অন্যান্য দলের সদস্যরা সোর্স কোডটি দেখতে পারে?

অর্থাত্ সেলভড কোডটি সঠিকভাবে সংকলিত হবে না?

উত্তর:


453

শেলভিংয়ের অনেকগুলি ব্যবহার রয়েছে। প্রধানগুলি হ'ল:

  1. প্রসঙ্গে স্যুইচিং : আপনার বর্তমান টাস্কটিতে কাজটি সংরক্ষণ করা হচ্ছে যাতে আপনি অন্য একটি উচ্চ অগ্রাধিকারের কাজে স্যুইচ করতে পারেন। বলুন যে আপনি নিজের ব্যবসায়ের কথা মাথায় রেখে একটি নতুন বৈশিষ্ট্য নিয়ে কাজ করছেন, যখন যখন আপনার বস চালু হন এবং বলেন "আহ্! বাগ বাগ বাগ!" এবং আপনাকে বৈশিষ্ট্যটিতে আপনার বর্তমান পরিবর্তনগুলি ফেলে দিতে হবে এবং বাগটি ঠিক করতে হবে। আপনি বৈশিষ্ট্যটিতে আপনার কাজটি তাক লাগিয়ে রাখতে পারেন, বাগটি ঠিক করতে পারেন, তারপরে ফিরে আসুন এবং পরে আপনার পরিবর্তনগুলিতে কাজ করার জন্য আনশেলভ করতে পারেন।
  2. শেয়ারিং চেঞ্জসেটস : আপনি যদি কোডটি যাচাই না করেই কোনও চেঞ্জসেট ভাগ করতে চান, তবে অন্যকে এটি তাক লাগিয়ে অ্যাক্সেস করা সহজ করে তুলতে পারেন। আপনি অন্য কারও কাছে অসম্পূর্ণ কাজটি পাস করার সময় এটি ব্যবহার করা যেতে পারে (দরিদ্র আত্মা) বা আপনার যদি কিছু ধরণের টেস্টিং কোড থাকে তবে আপনি কখনও চেক করবেন না যে অন্য কারোর জন্য চালানোর দরকার ছিল। পর্যালোচনাগুলির জন্য এটি ব্যবহার সম্পর্কে অন্যান্য প্রতিক্রিয়াগুলিতে এইচ / টি , এটি খুব ভাল ধারণা।
  3. আপনার অগ্রগতি সংরক্ষণ করা : আপনি একটি জটিল বৈশিষ্ট্য নিয়ে কাজ করার সময় আপনি নিজেকে এমন একটি 'ভাল পয়েন্ট' এ আবিষ্কার করতে পারেন যেখানে আপনি নিজের অগ্রগতি সংরক্ষণ করতে চান। আপনার কোডটি শেলফ করার জন্য এটি একটি আদর্শ সময়। বলুন আপনি রেন্ডারিং বাগগুলি ঠিক করতে কিছু সিএসএস / এইচটিএমএল হ্যাক করছেন। সাধারণত আপনি এটিতে ঝাঁকুনি, প্রতিটি সম্ভাব্য ক্লেজকে পুনরাবৃত্তি করে আপনি এটি সঠিক না হওয়া পর্যন্ত ভাবতে পারেন। তবে, একবার ঠিক হয়ে গেলে আপনি নিজের মার্কআপটি পরিষ্কার করার চেষ্টা করে ফিরে যেতে চাইতে পারেন যাতে এটি পরীক্ষা করার আগে অন্য কেউ বুঝতে পারে যে আপনি যা করেছেন তা এই ক্ষেত্রে, যখন সবকিছু ঠিকঠাক রেন্ডার হয় আপনি কোডটি শেল্ফ করতে পারেন In , তবে আপনি যেতে পারেন এবং আপনার মার্কআপটিকে রিফ্যাক্টর করতে মুক্ত, জেনেও যে আপনি যদি দুর্ঘটনাক্রমে আবার এটি ভাঙেন তবে আপনি সর্বদা ফিরে যেতে পারেন এবং আপনার চেঞ্জসেটটি পেতে পারেন।

অন্য কোন ব্যবহার?


16
যখন চেঞ্জসেটের তাক লাগানো হয় তখন স্থানীয়ভাবে মুলতুবি থাকা পরিবর্তনগুলি সংরক্ষণ করতে পারেন (২ বা 3 এর জন্য দরকারী) বা না (1
টির

2
শেল্ভিং উপর ভিসুয়াল স্টুডিও ডকুমেন্টেশন কিছু অতিরিক্ত প্রসঙ্গ এবং কিভাবে তথ্য আছে।
হলিস্টিক বিকাশকারী 18

1
এটি একটি গেটেড বিল্ড দ্বারা চূড়ান্ত প্রতিশ্রুতি সম্পন্ন না হওয়া পর্যন্ত পরিবর্তনগুলি সংরক্ষণ করার জন্য ব্যবহৃত হয়।
টোর Øস্টারগার্ড

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

আপনি স্থানীয়ভাবে পরিবর্তনটি সংরক্ষণের জন্য বিকল্পটি নির্বাচন করার সময় ফাইলগুলি চেক আউট থাকার বিষয়টি উপলব্ধি হয়ে গেছে।
জ্যাকস

105

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

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

এফওয়াইআই: একটি তাকটি পর্যালোচনা করার সর্বোত্তম উপায় হ'ল নিম্নলিখিত আদেশটি

tfpt পর্যালোচনা / তাক তাক: shelvesetName; ব্যবহারকারীর নাম

tfpt টিম ফাউন্ডেশন পাওয়ার সরঞ্জামগুলির একটি অংশ


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

34

সেটা ঠিক. আপনি যদি কোনও শেল্ফ তৈরি করেন তবে সর্বশেষে করা অন্যান্য ব্যক্তিরা আপনার কোডটি দেখতে পাবে না।

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

এটি আপনাকে অন্য কোনও মেশিনে আপনার পরিবর্তনগুলি তুলতে সক্ষম করে, আপনি যদি বাড়ি থেকে কাজ করার তাগিদ অনুভব করেন।

অন্যরা আপনার তাক দেখতে পাবে (যদিও আমি মনে করি এটি optionচ্ছিক হতে পারে) তাই তারা চেক-ইন করার আগে আপনার কোডটি পর্যালোচনা করতে পারে।


সেটা ঠিক. আপনি যদি কোনও শেল্ফ তৈরি করেন তবে সর্বশেষে করা অন্যান্য ব্যক্তিরা আপনার কোডটি দেখতে পাবে না। এর অর্থ ১) যখন আমি টিএফএসে কোডটি যাচাই করব তখন আমার দলের সদস্য তার সিস্টেমে কোডটি দেখতে পাবে যদি তিনি সর্বশেষ পাবেন? ২) সুতরাং এর অর্থ হ'ল আমরা কোন অ্যাকাউন্টের মাধ্যমে কোডটি তাক করে রেখেছি, একই অ্যাকাউন্ট থেকে কেবল আমরা তাক লাগানো কোডটি দেখতে পাব? দয়া করে আমাকে সংশোধন যদি আমি ভুল বলছি
কৃষ

আপনি চাইলে অন্যান্য ব্যক্তির তাক দেখতে পারেন।
তেডিডায়

3
আরও সঠিক হতে, "সর্বশেষে করা অন্যান্য ব্যক্তিরা আপনার কোডটি ডাউনলোড করবে না "
সার্জিওল

18

এই আলোচনার অনেক ক্ষেত্রে যে একটি পয়েন্ট মিস হয়ে গেছে তা হ'ল আপনি যে সেম মেশিনে নিজের পরিবর্তনগুলি রক্ষা করেছেন সে ক্ষেত্রে আপনি কীভাবে ফিরে যাবেন। বেশিরভাগের কাছে সম্ভবত সুস্পষ্ট, তবে তা আমার কাছে ছিল না। আমি বিশ্বাস করি আপনি একটি পূর্বাবস্থায়িত মুলতুবি পরিবর্তনগুলি করেন - এটি কি ঠিক?

আমি প্রক্রিয়াটি নিম্নলিখিত হিসাবে বুঝতে পারি:

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

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


8
শেল্ফ সেট তৈরি করার সময় আপনি যদি "স্থানীয়ভাবে মুলতুবি থাকা পরিবর্তনগুলি সংরক্ষণ করুন" চেকবক্সটি সাফ করেন তবে আপনি পূর্বাবস্থায় থাকা পরিবর্তনগুলি ধাপটি এড়িয়ে যেতে পারেন।
মাইকেল জে।

14

আমি এটি সর্বদা আসি, তাই শাখাগুলি সম্পর্কিত পরিপূরক তথ্য:

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

tfpt unshelve /migrate

বিষয় বন্ধ, তবে সত্য :-)
টোর Øস্টারগার্ড

2
এই মন্তব্যটি এত পুরানো যে এটি স্ট্যাক ওভারফ্লো উত্তর এটিকটটি স্থাপনের আগে যুক্ত করা হয়েছিল :-)
joshua.ewer

2

শেলভিংয়ের মতো আপনার পরিবর্তনগুলি বিদ্যমান পরিবর্তনগুলিকে প্রভাবিত না করে উত্স নিয়ন্ত্রণে সংরক্ষণ করা হয়েছে। মানে আপনি যদি সোর্স কন্ট্রোলের কোনও ফাইল চেক করেন তবে এটি বিদ্যমান ফাইলটি সংশোধন করবে তবে শেল্ভিং হ'ল উত্স নিয়ন্ত্রণে আপনার পরিবর্তনগুলি সংরক্ষণ করার মতো তবে আসল পরিবর্তনগুলি পরিবর্তন না করে।


1

@ জারেডপার: হ্যাঁ আপনি পর্যালোচনার জন্য শেলভিসেটগুলি ব্যবহার করতে পারেন তবে মনে রাখবেন যে তাকগুলি নিজের / অন্যদের দ্বারা ওভাররাইট করা যেতে পারে এবং এটি দীর্ঘমেয়াদী স্থিতিশীল নয়। সুতরাং নিয়ন্ত্রক প্রাসঙ্গিক পর্যালোচনাগুলির জন্য আপনার কখনই বেস হিসাবে শেলভিসেট ব্যবহার করা উচিত নয় বরং একটি চেকিন (চেঞ্জসেট) হিসাবে ব্যবহার করা উচিত। অনানুষ্ঠানিক পর্যালোচনার জন্য এটি ঠিক তবে একটি আনুষ্ঠানিক (যেমন এফটিএ সম্পর্কিত) পর্যালোচনা নয়!


0

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

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