যে বিকাশকারীরা গিট শিখতে পারে না তাদের জন্য আমি কী করতে পারি? [বন্ধ]


68

প্রসঙ্গ

আমার 8 প্রকৌশলীর দলটি আমাদের পরবর্তী বড় জিনিসের জন্য বর্তমানে গিটকে (সাবভার্সন থেকে) স্থানান্তর করছে। আমাদের হাতে গোনা কয়েকটা 'আরও অভিজ্ঞ' ইঞ্জিনিয়ার রয়েছে যা গিটকে বাছাই করা বেশ অসুবিধে করছে। ব্যবহারকারী ম্যানুয়াল, প্রশিক্ষণ কার্যক্রম এবং হোয়াইটবোর্ড সেশন প্রদান করেও আমি একই তুচ্ছ প্রশ্ন জিজ্ঞাসা করি। আমাদের দু'জন জুনিয়র পরামর্শদাতা ছিলেন যারা কয়েকদিনের মধ্যে সমস্ত কিছু বেছে নিয়েছিলেন এবং এটি সত্যিই এই বিষয়ে আলোকপাত করেছে। এটি এমন একটি প্যাটার্ন নয় যা গিতের মধ্যে সীমাবদ্ধ তবে ফলস্বরূপ এটি দৃশ্যমান হয়ে উঠেছে।

প্রশ্ন

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

এই কর্মীদের গিট শিখতে সাহায্য করার জন্য আমি কি করতে পারি?

সোর্সট্রি হ'ল ক্লায়েন্ট যা পুরো টিম ব্যবহার করছে।


1
মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে ।
ম্যাপেল_শ্যাফ্ট

3
আগুন বনাম রাখার সহজ বাইনারি যুক্তি কম্পিউটারের জন্য কাজ করতে পারে, এটি মানুষের জন্য নয়। একবার আপনি গিট দিকটি ছাড়িয়ে এটিকে সম্বোধন করতে প্রস্তুত বোধ করলে আপনি আপনার প্রশ্নের জন্য workplace.stackexchange.com পরীক্ষা করে দেখতে চাইতে পারেন ।
ফ্রাঙ্ক

গীত সিভিতে ভাল দেখায় তা উল্লেখ করুন ;-)
মাওগ

1
এটি সত্যই কোনও লোক / মনোবিজ্ঞানের সমস্যা, কোনও সফ্টওয়্যার ইঞ্জিনিয়ারিং সমস্যা নয়।
জেস্পার

@ জেস্পার হ্যাঁ এবং না আমি এটি কর্মক্ষেত্রে রেখে যাচ্ছিলাম তবে কিছু গিট নির্দিষ্ট পরামর্শের (যা আমি পেয়েছি!) সম্ভাবনা দেখেছি যা তাত্ক্ষণিকভাবে প্রযোজ্য হতে পারে।
গুসডোর

উত্তর:


148

তাদের একটি খেলনা দিন।

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

আমার খেলার জন্য নিরাপদ জায়গা দরকার ছিল।

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

আপনি যদি কেবল তাদের গভীর প্রান্তে টস করেন তবে তারা ভাগ্যবান হন যদি আপনি ভাগ্যবান হন।


36
আমি এই উত্তরটি পছন্দ করি তবে আমার মনে এটি আরও একটি প্রশ্ন উত্থাপন করে: যখন তারা "সত্যিকারের কাজ করতে ব্যস্ত" হয় তখন আপনি কীভাবে তাদের খেলনাটি নিয়ে খেলতে অনুপ্রাণিত করবেন?
ডেভিড আরনো

18
আপনার যদি এটি করতে হয় তবে তাদের কৃতিত্ব দিন। "গিট যোগ্য" শংসাপত্রগুলি হ্যান্ড আউট করুন যদি আপনি ভাবেন যে আপনি এটি বিক্রি করতে পারেন। তবে গুরুত্ব সহকারে, যদি স্বাভাবিকভাবেই এটি তাদের আগ্রহী না হয় তবে আপনার আরও বড় সমস্যা রয়েছে গিট। সমস্ত বিকাশকারীদের বিকাশকারী সরঞ্জামগুলি ব্যবহার করতে সক্ষম হওয়া উচিত।
candied_orange

48
@ ডেভিড আর্নো অন্য কাজ নির্বিশেষে সবাইকে এতে এক ঘন্টা ব্যয় করতে বলুন। অথবা এমনকি দুই ঘন্টা। উত্স নিয়ন্ত্রণ সঠিকভাবে ব্যবহার করতে সক্ষম হওয়া কোনও প্রকল্পের জন্য অতীব গুরুত্বপূর্ণ is এই সরঞ্জামগুলি শেখা "আসল কাজ"।
coinbird

16
'যখন তারা "সত্যিকারের কাজ করতে ব্যস্ত" হয় তখন আপনি কীভাবে তাদের খেলনাটি খেলতে উদ্বুদ্ধ করবেন? '- এটি আসল কাজ।
ডেভিড

18
আমি হতবাক কেউ বাধ্যতামূলক এক্সকেসিডি উল্লেখ করেনি !
জিএনপি

32

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

আপনার দলের যে কোর কমান্ডগুলির প্রয়োজন হবে তা হ'ল:

  • দূরবর্তী থেকে পরিবর্তনগুলি টানুন এবং একত্রিত করুন ফলাফলের দ্বন্দ্বগুলি হ্যান্ডেল করুন (সম্ভাব্যভাবে রিবেসিং)
  • প্রতিশ্রুতিবদ্ধ এবং দুর্গম প্রতিশ্রুতিবদ্ধ (বা পর্যালোচনা পরে পরিবর্তনগুলি মূল টানতে পেতে রেপো / শাখা মঞ্চে চাপ দিন)
  • সহায়তার জন্য: কিছু ভুল করার পরে গণ্ডগোলের সমাধান করুন।

যেগুলি আরও উন্নত ব্যবহারকারীদের প্রয়োজন হবে সেগুলি

  • স্থানীয় কমিট পরিচালনা করুন
  • শাখা পরিচালনা

গিটের সাথে অপরিচিত লোকেরা এবং যারা এটি শিখতে চান না তাদের জন্য কিছু দ্রুত অ্যালিজেড কমান্ড সেটআপ করুন এবং নিশ্চিত করুন যে সবকিছু ঠিক আছে (নতুন ফাইল যুক্ত করুন, রেপো থেকে মুছে ফেলা ফাইলগুলি সরিয়ে দিন))

এগুলি ভাল নথিভুক্ত এবং শালীনতার সাথে বোকা প্রমাণ রয়েছে তা নিশ্চিত করুন।

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


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

5
@ স্লেবেটম্যান: এটির নাম দেওয়া একে কম জটিল বা কঠিন করে তোলে না।
রবার্ট হার্ভে

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

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

@ রবার্টহারভে: শাখা নেওয়া জটিল বা জটিলও নয়। এটা বেসিক। বাগফিক্স রিলিজের মতো কোণার ক্ষেত্রে গিটফ্লো ওয়ার্কফ্লো জটিল তবে সাধারণ ব্যবহারের ক্ষেত্রে এটি সহজ।
slebetman

28

তাদের একটি গিট ইউআই ব্যবহার করতে দিন।

যদি তারা টরটয়েজএসভিএন, সঙ্গে অভিজ্ঞতা আছে TortoiseGit (কেবলমাত্র উইন্ডোগুলি) প্রায় হুবহু একই কাজ করে। অন্যথায়, সোর্স ট্রি (উইন্ডোজ + ম্যাক) দুর্দান্ত - আমাদের একাধিক নন-বিকাশকারী কিউএ রয়েছে যারা সোর্সট্রিকে ধন্যবাদ দিয়ে গিটে জটিল কাজগুলি সহজেই আয়ত্ত করতে সক্ষম হয়েছিলেন।


4
সোরিসট্রি এর জন্য +1। ~ 30 শিক্ষার্থীর একটি কলেজ প্রকল্পের জন্য, আমি সোর্স ট্রি ব্যবহার করে সাবভারশন থেকে গিটে রূপান্তরিত করেছিলাম। লোকেরা বেসিকগুলি শিখার পরে দ্রুত পরিবর্তিত হয়েছিল এবং আমাদের ডকুমেন্টেশনের প্রচুর লিঙ্ক ছিল। আমি পরীক্ষা শাখাগুলিতে পরীক্ষার জন্যও উত্সাহিত করেছি। আমি বলতে পারি প্রায় 75% লোক সেমিস্টারের শেষে এটি ব্যবহার করতে স্বাচ্ছন্দ্যবোধ করেছিল এবং কেউ কেউ কমান্ড লাইনটি ব্যবহার শুরু করে দিয়েছিল।
Dewick47

5
তাকে জিইউআই ব্যবহার করতে বলছেন তিনি ইতিমধ্যে বলেছিলেন যে তিনি ব্যবহার করছেন প্রশ্নের প্রশ্নের উত্তর নেই।
ডাব্লুগ্রোলাউ

9
মূল পোস্টটি এই উত্তর পোস্ট হওয়ার পরে সোর্স ট্রি ব্যবহার করার জন্য সম্পাদনা করা হয়েছিল।
দেউইক 47

7
আমি গিটক্রেনকেও পরামর্শ দেব। এটিই আমি আমার সিএস ক্যাপস্টোন প্রকল্পের কিছু অংশীদারকে গিটের সাথে পরিচয় করিয়ে দিয়েছিলাম। তারা এটি 15 মিনিটের মধ্যে তুলেছে - এটি মৃত সহজ, এবং একটি সুন্দর, স্বজ্ঞাত ইন্টারফেস রয়েছে। এবং না, আমি গিটক্রেন বিপণনের সাথে নেই।
ক্রিস সাইরেফাইস

2
git guiএবং gitkগিট নিজেই আসেন এবং কমান্ড-লাইন সরঞ্জামগুলির চেয়ে আমি তাদের শিখতে আরও সহজ পেয়েছি। যদি আপনি স্বাভাবিকভাবে কমান্ড-লাইন ভিত্তিক হন তবে সাধারণ জিইউআইগুলি খুব বেসিকগুলির জন্য দুর্দান্ত এবং আপনি git rebaseএবং কমান্ড লাইন থেকে আরও জটিল স্টাফ করতে পারেন ।
পিটার কর্ডেস

25

এই উত্তরটি কীভাবে প্রবীণ প্রোগ্রামারদের আগ্রহী করে তোলা যায় git, কীভাবে gitদ্রুততর উপায়টি শিখতে হয় তা সম্পর্কে না জানার চেষ্টা করে - তার জন্য, দুর্দান্ত গিট বইটি দুর্দান্ত, বা কোনও পরিমাণ টিউটোরিয়াল (=> গুগল)। এই উত্তরটির সাথে যেতে ভাল লিঙ্কগুলি হ'ল গিটটি একটি সম্পূর্ণরূপে কার্যকরী ডেটা কাঠামো বা বিশেষত সংক্ষিপ্ত আকারে কীভাবে গিট আপনার ডেটা সঞ্চয় করে

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

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

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

লোকেরা যদি এতে আগ্রহী না হয় তবে তারা তা বুঝতে পারবে না। সোজা এবং সরল. আমি বাজি ধরতাম যে স্কুলে খারাপ গ্রেডের বুদ্ধি না থাকা, হতাশার মূল কারণ।

এটি বলেছিল, এখানে একটি পাঠ্যক্রম হবে যেহেতু আমি এটি প্রয়োগ করব, জ্ঞানের নীচে থেকে শীর্ষে স্থাপনের উপর ভিত্তি করে। এটি আমার পক্ষে কাজ করেনি, তবে আপনি এটি নিজের তৈরি করতে অনুপ্রেরণা হিসাবে নিতে পারেন।

গুই

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

(স্ট্যাটিক) ডেটা স্ট্রাকচার কী is

অভ্যন্তরীণ তথ্য প্রকারের ব্যাখ্যা দিয়ে শুরু করুন (এর মধ্যে কেবল তিনটি প্লাস- এক রয়েছে: ব্লবস, ট্রি, কমিট, টীকাগুলি ট্যাগ, যার মধ্যে শেষটি এই পর্যায়ে যা নিয়ে উদ্বেগ নেই) এবং তাদের কাঠামো। আপনি হোয়াইটবোর্ডে / পেন্সিল দিয়ে সহজেই এটি করতে পারেন; গাছটি অঙ্কন করা সহজ কারণ এটি কখনই পরিবর্তন করা যায় না, আপনি আক্ষরিক অর্থে সব সময় স্টাফ যোগ করতে পারেন। আপনি একটি সদ্য নির্মিত স্থানীয় ভান্ডারগুলিতে একটি প্লে সেশন git cat-fileকরতে পারেন এবং প্রকৃত অবজেক্টগুলি এটিকে দেখানোর জন্য যে তারা আসলে বিজ্ঞাপন হিসাবে তুচ্ছ হিসাবে দেখাতে ব্যবহার করতে পারেন ।

আপনি যদি তাদের বুঝতে এটি সহায়তা করতে পারেন

  • ... ইতিহাসে আক্ষরিক অর্থে কেবল 3 ধরণের অবজেক্ট রয়েছে, এগুলি সবগুলিই খুব সাধারণ, প্রায় তুচ্ছ এবং
  • ... বেশিরভাগ gitসাবকম্যান্ডগুলি নিকৃষ্ট তুচ্ছ ক্রিয়াকলাপগুলির সাথে কেবল একটি উপায়ে বা অন্য কোনও উপায়ে "ম্যাসেজ" করে (মূলত, কেবল একটিই রয়েছে: কোথাও একটি নতুন অঙ্গীকার যুক্ত করুন), এবং ...
  • ... সবকিছু সামনে সহজেই আপনার সামনে দেখা যেতে পারে lsএবং সাথে git cat-file...

তারপরে তাদের কাছে আসলে ভান্ডারটিতে যা আছে তার মানসিক অনুবাদ থাকবে। এই মুহুর্তে, সিনিয়ররা মনে রাখতে পারে যে অভ্যন্তরীণগুলি হ'ল আরকেন svnম্যাজিক (কখনও কখনও এসএনএন সংগ্রহস্থলের ভিতরে তালা নিয়ে, বা "পুনরায় সংশ্লেষক" শাখা এবং এই জাতীয় সমস্যা ছিল?) এবং এটি তাদের কিছুটা প্রেরণা জাগাতে পারে

একটা সমস্যা, বিশেষ করে ব্যবহার করা মানুষের সাথে svn, যা এই ধারণার ব্যবহার করতে পারেন যে এক কমিট (বস্তু, না কর্ম) সর্বদা হয় পুরো ডিরেক্টরি গাছ। ইন svn, ব্যক্তি পৃথক ফাইল প্রতিশ্রুতিবদ্ধ করতে ব্যবহৃত হয়। এটি একেবারে ভিন্ন পন্থা। ওহ, এবং একই শব্দ "প্রতিশ্রুতিবদ্ধ" উভয়ই স্থির বস্তুর জন্য ব্যবহৃত হয় এবং কোনও ক্রিয়াও সহায়তা করে না।

svnছেলেদের জন্য অন্যান্য সমস্যাটি হ'ল svnবৃক্ষ নয়, রৈখিক ইতিহাস ব্যবহার করে। এটি আবার বন্যার চেয়ে আলাদা। সুতরাং এই সময় এই পার্থক্য অনেক অনেক নির্দেশ করুন

কাঠামোর শর্তাবলী ক্রিয়া ব্যাখ্যা

যখন তারা বুঝতে পেরেছে যে gitভাণ্ডারগুলি কোন অংশ থেকে তৈরি করা হয়, তখন পৃথক সাবকম্যান্ডগুলি সেগুলির ক্ষেত্রে কী করে তা ঠিক তাদের দেখানোর সময় git

আমি কথা বলছি add, commitস্থানীয় শ্রমিক ডিরেক্টরি ও পর্যায় (নিশ্চিত তারা এটাও বোঝেন যে পরিশ্রমী ডিরেক্টরি উপস্থাপনকারী এলাকা যা সংগ্রহস্থলের হিসাবে একই নয় হিসাবে একই নয় তা নিশ্চিত করুন) সাথে।

যখন তারা বুঝেছি যে এই কমান্ড কেবল গাছ হত্তয়া (যা, আবার, এই পর্যায়ে, নিয়ে গঠিত 3 ধরনের - ব্লব, গাছ, করে না শুধুমাত্র করে), আপনি একটি প্রথম কি করতে পারেন git pushএবং git pull(দ্রুত অগ্রসর মোডে! ) এগুলি দেখানোর জন্য যে gitআক্ষরিকভাবে কেবলমাত্র এটির জিনিসগুলি চারপাশে চাপ দিচ্ছে, হ্যাশগুলি সত্যই কেবলমাত্র সামগ্রী হ্যাশ, আপনি সহজেই এই জিনিসটিকে একটি ফাইল সিস্টেমের অনুলিপি কমান্ড এবং এর সাথে অনুলিপি করতে পারেন।

স্পষ্টতই, এই আদেশগুলির যে কোনও অপ্রয়োজনীয় বিকল্প থেকে দূরে থাকুন, আমরা এখানে কথা বলছি git add hello.txt

শাখা

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

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

তাদের যদি এটি নীচে থাকে তবে আপনি কীভাবে git pullসত্য তা ব্যাখ্যা করতে পারেন git fetch && git merge; সমস্ত সংগ্রহস্থলগুলিতে কীভাবে হুবহু একই জিনিস থাকে ( গিট অবজেক্ট ডিরেক্টরিটির ভিতরে থাকা git fetchজিনিসগুলি অনুলিপি করা প্রায় একই scp) এবং আরও অনেক কিছু।

সম্ভবত, যদি এই সময়ের মধ্যে আপনি তাদের আগ্রহ জাগ্রত করার জন্য পৌঁছে না যান, তবে আপনি ঠিক ততটাই হাল ছেড়ে দিতে পারেন, তবে তারা যদি এতদূর যেতে সক্ষম হন তবে তাদের সমস্ত মানসিক সরঞ্জাম তাদের হাতে রয়েছে, এবং সেখানে খুব কম হওয়া উচিত আর জড়িত ভয়। বাকী (গিট ওয়ার্কফ্লো ...) তখন উতরাই হওয়া উচিত।

শেষ কথা

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

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


11
সম্ভবত সত্য, তবে এই পদ্ধতির সমস্যাটি হল বেশিরভাগ প্রোগ্রামাররা তাদের উত্স কোড নিয়ন্ত্রণের বিশদ বোঝার জন্য দিন কাটাতে চান না। তারা কেবল এটি সহজভাবে কাজ করতে চায়। । আইএমও, গিটটি এতে ব্যর্থ হয়। আপনার প্রকৃত কোডটি কীভাবে ব্লবগুলি নিয়ে উদ্বেগজনক হতে কাজ করে তা বোঝা শক্ত hard
user949300

1
আপনার মন্তব্যটি 100% সত্য, @ ব্যবহারকারী949300, সুতরাং কার্যকরভাবে gitকিছু সুপার-চীনামাটির বাসন ব্যবহার না করার পরিবর্তে প্রতিস্থাপন সম্পর্কে আমার টিপ git। ওপিকে তাদের ব্যবসায়ের উপযুক্ত হিসাবে এটি (জড়িত সময় সহ) গ্রহণ করতে হবে t যেমনটি আমি লিখেছি, আমি সবাইকে "ভাঁজ" পেতে, এই (বা অন্য কোনও) পদ্ধতির সাথে সফল হইনি, তবে তবুও, যদি আমাকে আবার চেষ্টা করতে বাধ্য করা হয়, তবে এটিই আবার আমার পন্থা হবে।
AnoE

1
সত্যিই আমি মনে করি আপনি কীভাবে এটি কাজ করে তা না বুঝেই গিট ব্যবহারে আপনি বেশ দূরে যেতে পারেন। আপনি যদি শাখা জানেন, তবে সাধারণ ব্যক্তি যা ব্যবহার করবেন তার 95% এর মতো এখানে যোগ করুন, চাপ দিন এবং টানুন।
কেসির

6
@ user949300 "দিন" আমার অভিজ্ঞতা গিট শেখার সাথে মোটেই খাপ খায় না। গিটের কাছে আমি যে কোনও প্রকল্পে দেখেছি এমন কয়েকটি সেরা ডকুমেন্টেশন রয়েছে। প্রো গিতের প্রথম 3 টি অধ্যায় পড়তে এক ঘন্টা ব্যয় করা থেকে আপনি সমস্ত বেসিকগুলি বেছে নিতে পারেন , যা প্রচুর ডায়াগ্রামের সাথে খুব অ্যাক্সেসযোগ্য ফর্ম্যাটে লেখা হয়েছে। গুগলে একটি দ্রুত "আমি কীভাবে গিটে আছি" "প্রায় সবসময় অনড়ভাবে সরবরাহ করে - সাধারণত স্ট্যাকেক্সচেঞ্জের উত্তর থেকে।
জন বেন্টলে

1
@ গুডর এট আল, মনে রাখবেন যে এই উত্তরটি এই খুব প্রশ্নের সাথে সুনির্দিষ্ট - কীভাবে প্রবীণ প্রোগ্রামারদের সম্পর্কে শিখতে আগ্রহী হন git। স্পষ্টতই, অন্যান্য সমস্ত সংস্থানগুলি (দুর্দান্ত গিট ডকুমেন্টেশন, টিউটোরিয়াল ইত্যাদি )ও বৈধ। গুডডোর, আপনি যদি আরও জানতে চান, গুগল "গিট গ্লোবাল অবজেক্টস" বা "গিট ডেটা স্ট্রাকচার" এবং আপনি দ্রুত তথ্যের একটি ধন খুঁজে পাবেন। আমি উত্তরে কিছু লিঙ্ক যুক্ত করেছি। এমনকি আপনি সিনিয়রদের একজনকে এটি সম্পর্কে একটি ব্রাউনব্যাগ সেশন করতে বলবেন। ;)
AnoE

14

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

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

এটি ছাড়াও, এটি যতটুকু বলতে পছন্দ করি না; কে আসলে ব্যবহারকারী ম্যানুয়াল পড়েন? সাধারণত তারা বেসিক ব্যবহারের ব্যাখ্যা দিতে খুব খারাপ। ম্যানুয়াল থেকে গিট কমিট পৃষ্ঠাটি দেখুন এবং বিবেচনা করুন যে ধারণাটির সাথে গতি বাড়ানোর পক্ষে নয় এমন কারও কাছে কত নতুন শর্তাবলী এবং বাক্যাংশ প্রবর্তিত হচ্ছে। ভাল পরিচয় না দিয়ে আমি সম্ভবত সেখানে এবং পরে গিট ব্যবহার করা ছেড়ে দিয়েছি।

আমার ব্যক্তিগত পরামর্শ হ'ল আদেশগুলি ব্যাখ্যা করা শুরু করুন:

  • গিট অ্যাড <ফাইল>
  • গিট কমিট
  • গিট টান
  • গিট ঠেলা
  • গিট স্ট্যাটাস

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

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

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


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

2
আপনার ব্লগ এন্ট্রি লিঙ্কটি আমাকে একটি সম্পর্কযুক্ত YouTube ভিডিও দিয়েছে।
ডাব্লুগ্রোলাউ

2
git statusআপনি যে চারটি কমান্ড উল্লেখ করেছেন সেগুলি ছাড়াও আমি প্রাণবন্ত বলে মনে করি।
user949300

1
@ জোশুয়া টেইলর আমি বলার ইচ্ছা করি নি যে ম্যানুয়ালগুলি খারাপ, তারা আসলে দুর্দান্ত are যাইহোক, কল্পনা করুন কাউকে মানুষের গিটকে উল্লেখ করে এবং কেবল বলছেন; আসুন, শিখতে সহজ, কেবল ম্যান পেজগুলি পড়ুন। আমার বক্তব্যটি নয় যে ডকুমেন্টেশন দুর্দান্ত নয়, এটির অনেকগুলি অনবদ্য লেখা এবং সেই ডোমেনটি জানেন যাঁরা এর জন্য লিখেছেন জানেন তাদের পক্ষে দরকারী তবে এটি সাধারণত বেসিক ব্যবহারের সন্ধানকারী কারও পক্ষে মূল্যহীন। সম্পাদনা : এবং এই শেষ পয়েন্টটি আপাতদৃষ্টিতে ওপি-র যে সমস্যাটি রয়েছে তা বোঝা যাচ্ছে।
রবজর

@ user949300 ভাল ধরা, আমি একেবারে একমত।
রবজর

11

আপনি কীভাবে এসভিএন-তে সোর্স কন্ট্রোল করবেন তা শিখলে গিটই একটি প্রধান পুনর্বিবেচনা। আপনি সেখানে গড়ে তুলেছেন এমন অনেক অভ্যাস (যা এসভিএন-এর জন্য ভাল অভ্যাস থাকতে পারে) গিট ব্যবহার করার সময় আপনাকে বিপথগামী করবে। এটি মূলত কারণ গিটের ব্রাঞ্চিং মডেলটি মৌলিকভাবে পৃথক। এটি শাখাগুলির জন্য ফোল্ডারগুলি উত্তোলন করে না এবং এটি অ-রৈখিক করাও সম্ভব কারণ এটি বিতরণের ব্যবহারের ক্ষেত্রে আরও ভালভাবে সমর্থন করার জন্য ডিজাইন করা হয়েছিল। এসভিএন অভ্যাসগুলি প্রকাশ করতে এবং আপনার কীভাবে গিট ব্যবহার করার কথা রয়েছে তা বুঝতে কিছু সময় লাগে ।

সহজ শুরু করুন

আপনি বলছেন যে আপনি শাখা পরিচালনার জন্য গিটফ্লোটিকে আপনার মান হিসাবে বেছে নিয়েছেন। এটি আপনার বৃহত্তম ভুল হিসাবে আমাকে আঘাত করে।

উদ্ধৃত করা Gitflow ক্ষতিকর বিবেচনা :

এই সমস্ত শাখা যা ব্যবহার করা হয় গিটফ্লোকে জটিল বিধিগুলির একটি বিস্তৃত সেট রাখতে বাধ্য করে যা তারা কীভাবে ইন্টারঅ্যাক্ট করে তা বর্ণনা করে। এই নিয়মগুলি, অদম্য ইতিহাসের সাথে মিলিতভাবে, গিটফ্লোয়ের দৈনন্দিন ব্যবহার বিকাশকারীদের জন্য খুব শক্ত করে তোলে।

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

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

আপনার আরও সহজ শুরু করা দরকার। এখনই একটি ব্রাঞ্চিং স্ট্যান্ডার্ড সম্পর্কে চিন্তা করবেন না। ফোকাস তাদের Git ব্যবহার ব্যবহার করা হচ্ছে প্রথম। শুরু করার জন্য আপনার কেবল কয়েকটি অপারেশন প্রয়োজন:

  • ক্লোন
  • টান
  • শাখা
  • একত্রিত করা
  • সমর্পণ করা
  • ধাক্কা
  • কিভাবে .gitignoreকাজ সম্পর্কে জ্ঞান
  • সম্ভবত ট্যাগ

হ্যাঁ, আপনার ইতিহাসটি প্রথমে কিছুটা অগোছালো মনে হতে পারে। ঠিক আছে. এখনই এটি সম্পর্কে চিন্তা করবেন না। গিট ব্যবহার করে কেবল তাদের পান ।

ধীরে ধীরে জ্ঞান বৃদ্ধি করুন

এখান থেকে আপনি ধীরে ধীরে কিছুটা আরও উন্নত ব্যবহারে তাদের শিক্ষিত করতে পারেন।

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

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

তারপরে একটি ব্রাঞ্চিং স্ট্যান্ডার্ড চয়ন করুন

একবার আপনি কোম্পানিতে সব Git ব্যবহারে উপযুক্ত অধিকাংশ আছে, তারপর আপনি শাখাবিন্যাস মান তাকান করতে পারেন। এক এক সামনে নির্বাচন করা একাধিক কারণে সত্যই খারাপ ধারণা:

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

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

আপনার দলটি বিবেচনা করতে পারে গিটফ্লোর কয়েকটি বিকল্প এখানে রয়েছে:

সেগুলি এবং গিটফ্লো দেখুন, আপনার ব্যবহারের ক্ষেত্রে তাদের তুলনা করুন এবং উপযুক্ত ফিটগুলি বেছে নিন।


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

5
@ থান্ডারফোর্জে আমি এটিকে "ওভারকিল" বলার সাথে একমত নই, কারণ এটি প্রস্তাব দেয় এটি কোনওরকম আরও শক্তিশালী বা নমনীয় বা কোনও উপায়ে সুবিধাজনক। আমি সত্যিই বিশ্বাস করি না যে গিটফ্লোয়ের কোনও সুবিধা রয়েছে। এটি এক ধাপ পিছনে বলে মনে হচ্ছে: জটিল ভারপ্রবাহ যা এসভিএন এর মতো অন্যান্য সংস্করণ নিয়ন্ত্রণ সরঞ্জামে প্রয়োজনীয় এবং কেবল গিটকে একইভাবে ব্যবহার করার চেষ্টা করছে। যদিও প্রথমে সহজ ওয়ার্কফ্লোগুলি সক্ষম করার জন্য গিটের নমনীয়তা রয়েছে। আমি মনে করি আবেদনটি হ'ল এটি বিতরণ না করে কম (নিয়ম এবং নির্দেশাবলী) চিন্তা করার মায়া দেয়। তবে আপনার বক্তব্য গ্রহণ করা হয়। ধন্যবাদ.
jpmc26

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

1
@ গুডোর আপনার প্রশ্নটি "বর্তমানে রূপান্তরিত হচ্ছে" বলেছে। ওটার মানে কি? এছাড়াও, আপনি যদি কিনে না নিলে, গিটফ্লো সফল হওয়ার সম্ভাবনা নেই কারণ এটি এত ভারী ওজন, আপনার যদি মনে হয় এটির সুবিধাগুলি আছে বা না।
jpmc26

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

11

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

"গিট কমিট" এবং "গিট পুশ" এর মধ্যে পার্থক্য কী?

'গিট টান' এবং 'গিট ফেচ' এর মধ্যে পার্থক্য কী?

আশ্চর্যজনকভাবে কার্যকর হওয়ার জন্য আমি ট্রাঙ্কের একটি ভিজ্যুয়াল উপস্থাপনাও পেয়েছি তবে আপনি ইতিমধ্যে SourceTree দিয়ে সেইটিকে আবৃত করেছেন।

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


দুর্দান্ত লিঙ্ক। আমি সেই ডাটা ফ্লো চিত্রটি চুরি করতে যাচ্ছি!
গুসডোর

9

তাদের একটি বই কিনুন

সত্যি বলতে কী, আপনি যে শিবিরটি বর্ণনা করেছেন তাতে আমি ধীরে ধীরে পড়ে গেলাম। আমি সোর্সসেফ এবং ক্লিয়ার ক্যাসের একটি পটভূমি থেকে এসেছি। প্রথমদিকে, গিট আমার কাছে সম্পূর্ণরূপে অনির্বচনীয় ছিল, যদিও আমার বস এটি বেশ কয়েকবার চালাচ্ছিলেন।

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

দুর্ভাগ্যক্রমে, আমি তখন কোন বইটি পড়েছি তা মনে করতে পারছি না, তবে কেবল নিশ্চিত হয়ে নিন যে আপনি তাদের জন্য যে কোনও একটি পাবেন (বা তাদের দিকে ইঙ্গিত করুন) কীভাবে এটি আলাদা এবং কীভাবে এটির জন্য আলাদা মনের সেট প্রয়োজন on

কোনও বইয়ের সুপারিশের জন্য সেরা অনুমান:

স্কট চকন দ্বারা প্রো গিট (স্বাচ্ছন্দ্যের জন্য অ্যামাজন লিঙ্ক ... আপনি যে যার কাছ থেকে কিনুন: https://www.amazon.com/dp/1484200772/ref=cm_sw_r_cp_dp_T1_BNruzbBQ8G9A6 )

দ্রষ্টব্য : গিটের জন্য কোনও রেফারেন্স বই কিনবেন না । এটি কোনও উপকারে আসবে না।


6
প্রো গিট অবশ্যই আইএমওতে যাবেন। আপনি এটি গিট ওয়েবসাইট থেকে বিনামূল্যে পেতে পারেন । আপনি যদি সত্যই কোনও হার্ড কপি না চান তবে এর জন্য অর্থ প্রদানের দরকার নেই।
জন বেন্টলে

4

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

অন্যান্য লোকেরা, এটি করতে পারে না, তাদের বুঝতে হবে গিট কী করছে এবং এটি আরও বেশি সময় নেয়। আমি সেই বিভাগে ছিলাম; .gitডিরেক্টরি বিষয়বস্তুগুলি নিয়ে খেলতে আমি সত্যিই সহায়ক বলে মনে করেছি , তখনই যখন জিনিসগুলি আমার জন্য ক্লিক করা শুরু করে। এছাড়াও আমাদের টেকের নেতৃত্বের সাথে এক সেশনে সাহায্য করেছে।

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


4

আমি gitকোথায় আছি তা প্রবর্তনের সাথে কথা বলছি (টিএফএস থেকে) তাই আপনার প্রশ্নটি আমার কাছে সময়োপযোগী, বিশেষত কারণ যখন বিষয়টি প্রচারের সময় আমি কিছুটা ধাক্কাও দিয়েছিলাম।

ইন Peopleware , পুরো বইয়ের অন্তর্নিহিত নিবন্ধ হল:

আমাদের কাজের বড় সমস্যাগুলি প্রকৃতিতে যেমন আর্থ - সামাজিক হিসাবে তেমন প্রযুক্তিগত নয়

আমি এটি এনেছি কারণ আমাদের প্রযুক্তিগত সমস্যা নেই। git, যখন কিছুটা অবসন্নতা হয়, সম্ভবত আপনার বা আমার সিনিয়র দেবগণের দক্ষতার বাইরে নয়, যদি না তারা অত্যন্ত বোকা * হয়।

প্রযুক্তিগত মেশিন নয়, মানুষ হিসাবে, আপনার ডিভস দৃষ্টিকোণ থেকে এটি দেখুন:

আপনি তাদেরকে এমন একটি উত্স নিয়ন্ত্রণ ব্যবস্থা ব্যবহার বন্ধ করতে বলছেন যা তাদের (সম্ভবত) দক্ষতা অর্জন করেছে, যা তাদের নেই to এটি কিছুটা gitবিশেষজ্ঞের ব্যবহার বন্ধ করতে বলার মতো gitএবং svnতাই না? আমি বিবেচনা করি গিট বিশেষজ্ঞ বিরক্ত হবেন, এবং সম্ভবত খুব বেশি প্রচেষ্টা করা হয়নি svnকারণ এটি ভাল gitকাজ করে এবং এর কিছু অংশ রয়েছে যা সে সত্যই পছন্দ করে যেগুলি করা সত্যিই কঠিন svn

সেই কারণেই সম্ভবত জুনিয়ররা এটি আরও ভালভাবে গ্রহণ করেছে - সম্ভবত তারা তাদের ফাঁসি পায় নি svnএবং gitএটি তাদের খোলার সুযোগ ^

সিনিয়ররা যদিও সুযোগ-ব্যয় সম্পর্কে সতর্ক হন - যদি তারা শিখেন gitতবে তারা হয় না:

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

    "আমাকে উপরের সমস্ত কিছু করা দরকার, git যখনই ইতিমধ্যে আমাদের উত্স নিয়ন্ত্রণ রয়েছে তখন আমাকে কেন ব্যবহার করতে হবে ?"

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

পুল অনুরোধ? ভাল দানাদার চেকিনস? বিতরণ উত্স? কাটাচামচ?

তারা কি এই কারণে আনা হয়েছে? আপনি যদি কেন্দ্রিয় উত্স নিয়ন্ত্রণের মন থেকে থাকেন তবে কেবলমাত্র প্রযুক্তিগত পরিবর্তন নয়, সংস্কৃতিগতও, এবং আমরা জানি সংস্কৃতি পরিবর্তন করা কতটা কঠিন we আমরা জানি।

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

শুভকামনা।


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

^ এবং আরও বেশি কর্মসংস্থানযোগ্য হয়ে উঠুন, যা সিনিয়ররা আমাদের শিল্পে প্রচলিত বয়সতত্ত্বকে বিবেচনা করে বিশেষত এত কিছু নিয়ে ভাবতে পারে না।


3

আমি মনে করি এটি একটি সফ্টওয়্যার ইঞ্জিনিয়ারিং প্রশ্ন কম এবং একটি মনোবিজ্ঞান প্রশ্ন বেশি। আমি উল্লেখ করতে চাই Algorithms to Live By: The Computer Science of Humand Decisions। এতে লেখক ট্রেডঅফ এক্সপ্লোর / শোষণের বিষয়টিতে চলেছেন। মানুষ সাধারণত অন্বেষণের একটি পর্যায়ে যায় এবং তারপরে তারা যা অনুসন্ধান করেছে তা কাজে লাগানোর (ব্যবহার করে) এক পর্যায়ের মধ্য দিয়ে যায়। একটি নির্দিষ্ট বিরতিতে কোনও কিছুর সর্বোত্তম ব্যবহারের জন্য সর্বোত্তম ব্যবহার পেতে কেন এটি হ'ল এর পিছনে কিছু শক্ত গাণিতিক তত্ত্ব রয়েছে।

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

আপনার সিনিয়র ইঞ্জিনিয়াররা সম্ভবত বয়স্ক, তারা সম্ভবত কয়েকটি সংস্করণ নিয়ন্ত্রণ সিস্টেমের মধ্য দিয়ে গেছে। SVNতারা এখন অবধি সম্ভবত সেরা ব্যবহার করেছেন (কমপক্ষে আমি ব্যবহৃত পুরানো সংস্করণ সিস্টেমগুলি দেখে, এসভিএন সেগুলি সবগুলিকে পরাজিত করে)।

তাদের সর্বোত্তম কৌশলটি এসভিএন শোষণ করা, কারণ তারা তাদের অন্বেষণ করেছে এবং তারা খুঁজে পেয়েছে এটি এখন সেরা which

এটি হ'ল মৌলিক মনস্তত্ত্ব, এবং কয়েক হাজার বছরের বিবর্তনীয় অপ্টিমাইজেশনের বিরুদ্ধে যার বিরুদ্ধে আপনি লড়াই করছেন।

আপনাকে তাদের দেখানোর দরকার হবে) কেরিয়ারের সামনে তাদের কতটা দীর্ঘ সময় রয়েছে, যে ব্যবধানে তারা নিজেরাই দেখেন সে সম্পর্কে ভিন্ন দৃষ্টিভঙ্গি থেকে চিন্তাভাবনা করার জন্য তাদের প্রধান করে তোলেন এবং খ) তাদেরকে কী দুর্দান্ত মনে হয় এবং তারা কী জিজ্ঞাসা করুন অনুপস্থিত পুনরায় SVN। এর শত শত সুবিধা আপনি দিতে পারেন gitতবে তারা ইতিমধ্যে SVN5 সংস্করণ নিয়ন্ত্রণ সিস্টেমের অভিজ্ঞতা অর্জনের পরে কেন সর্বোত্তম তা ইতিমধ্যে তাদের একটি স্পষ্ট ধারণা থাকবে । আপনাকে এই তর্কটির বর্মটি খুঁজে পাওয়া দরকার, এবং তারপরে gitএই সমস্যাগুলির সমাধান করতে পারে কিনা তা দেখুন , তবে তারা নিজেরাই বিশ্বাস করে নেবে ।


2

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

এর পরেরটি গিভট এসভিএন এর চেয়ে আরও ভাল সমস্যার সমাধান করে। আপনার দলটিকে এটি শিখতে আপনাকে গিট কেন আরও ভাল তা জানতে তাদের অনুপ্রাণিত করতে হবে।

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

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

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


1
+1 অন্য যে চেরি পিকিং এবং রিবিসিং (আমার কাছে রকেট সায়েন্স) এর মতো অত্যন্ত উন্নত বিষয়, কমান্ড লাইনের সাথে শেখা এমন একটি পরামর্শ যা আসলে প্রচুর অর্থবোধ করে। আসলে গিট শেখার একমাত্র উপায় way আপনি ড্রিমউইভার ব্যবহারের আগে এইচটিএমএল প্রথম শিখবেন, তাই না? আমি কিছুটা কমন কমান্ডের সামনের দিকে কিছুটা গোপন রাখতে পারি would উদাহরণস্বরূপ লগ কমান্ডটি বাইজেন্টাইন এবং আরকেন, কেবল তাদের জন্য একটি উলামা তৈরি করুন যা একটি দুর্দান্ত ইতিহাস মুদ্রণ করে।
তুলিনাস কর্ডোভা

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

1
git log --graph --abbrev-commit --decorate --date=relative --all
জেরেমি ফরাসি

1
git guiএবং gitkমূল গিট প্যাকেজ নিয়ে আসুন এবং গিটকে অন্য কোনও কিছুর মতো দেখতে চেষ্টা করবেন না। এগুলি দুর্দান্ত, বিশেষত gitk --allসমস্ত শাখা দেখার জন্য এবং বর্তমান শাখাটি পুনরায় সেট করার জন্য অন্যান্য কমিটগুলি বা এই জাতীয় স্টাফগুলিতে নির্দেশ করতে। গিটকটিতে, "চেরি-পিক" হ'ল একটি বিকল্প যা আপনি যখন প্রতিশ্রুতিতে ডান ক্লিক করেন তখন পাবেন options এটি কমান্ড-লাইন সরঞ্জামগুলির মতো একই পরিভাষা ব্যবহার করে।
পিটার কর্ডেস

3
@ জেরেমিফ্রান্স এএসসিআইআই আর্ট গিট রেপো হিসাবে জটিল হিসাবে কোনও গ্রাফ দেখার পক্ষে খুব কার্যকর উপায় নয়।
jpmc26

2

তাদের উদ্বিগ্ন হতে না বলুন

গিতে, একবার কাজ প্রতিশ্রুতিবদ্ধ হয়ে গেলে এটি হারাতে প্রায় অসম্ভব। আপনি সহজেই হারাতে পারেন এমন একমাত্র কাজ যা এখনও প্রতিশ্রুতিবদ্ধ হয় নি।

কীভাবে git reflogকাজ করে তা তাদের দেখান । এটি কীভাবে ব্যবহার করতে হয় তা তাদের জানতে হবে না; তাদের কেবল এটি সেখানে জানতে হবে, যাতে কিছু ভুল হয়ে যায় তবে তারা তাদের কাজ ফিরে পেতে সহায়তা পেতে পারে।

তারপরে তাদের এই সাধারণ নিয়মটি প্রভাবিত করুন: সন্দেহ হলে, প্রতিশ্রুতিবদ্ধ। তারা সর্বদা পরেও প্রতিশ্রুতি ফিরিয়ে দিতে পারে (এমনকি দূরবর্তী থেকেও!)।

জিইউআই ব্যবহার করবেন না

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

জোড়-প্রোগ্রাম কোড কমিট করে

শিখার git add -Aপরে অনুসরণ git commitকরা খুব বেশি শক্ত হওয়া উচিত নয়, তবে বিশেষত যখন রিমোটটির বিরুদ্ধে মার্জ (বা রিবেসিং) করা হয় তখন তাদের কিছু সহায়তার প্রয়োজন হবে। এটি পরিষ্কার করুন যে যে কোনও সময় যে কোনও সময়ে সহায়তা চাইতে স্বাগত। তারা কমান্ডগুলি টাইপ করার সময় পাশে থাকুন এবং নোটগুলি নেন। সময়ের সাথে সাথে তারা সাহায্য ছাড়াই যে পরিস্থিতিগুলি পরিচালনা করতে পারে তাদের সংখ্যা ধীরে ধীরে বাড়িয়ে তুলবে।

গিট ইতিমধ্যে নিরাপদ

উপরের কেউ "খেলার একটি নিরাপদ জায়গা" সম্পর্কে কথা বলেছেন। কিন্তু গীত হয় নিরাপদ জায়গা। দু'টি স্বাভাবিক, প্রতিদিনের কেস যেখানে কাজ হারাতে সহজ হয়:

  • অবিযুক্ত কোড
  • একটি জিইউআই ব্যবহার করে

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


1

আমি গিটলেসকে একবার দেখার পরামর্শ দেব । সহযোগিতার জন্য অন্তর্নিহিত গিট সংগ্রহস্থল বজায় রাখার সময় এটি গিটের ওপরে গিট যা বুনিয়াদি কর্মপ্রবাহকে অনেক সহজ করে দেয় (কোনও মঞ্চের ক্ষেত্র সম্পর্কে চিন্তা করার দরকার নেই, শাখাগুলি তাদের নিজস্ব ফাইলের অনুলিপি রাখে, এর সহজ ব্যবহারগুলি git rebaseহ্যান্ডল করা হয় gl fuseইত্যাদি ইত্যাদি) সহযোগিতার জন্য অন্তর্নিহিত গিট সংগ্রহস্থল বজায় রাখার সময় বা আপনার যদি অস্বাভাবিক কিছু করার দরকার হয়। এছাড়াও, বার্তাগুলি কিছুটা নবজাতক-বান্ধব। কমান্ডগুলি স্টেপিং-পাথর হিসাবে কাজ করার জন্য যথেষ্ট পরিমাণে যদি তাদের কোনও কারণ ছাড়াই গিটলেস ছাড়াই কোনও সিস্টেম ব্যবহার করার প্রয়োজন হয় তবে তা যথেষ্ট নয়।


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

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

0

গিটের কমান্ড লাইন কীভাবে ব্যবহার করতে হয় তার মূল বিষয়গুলি নথিভুক্ত করার চেষ্টা করেছি। এটি এখনও বিভ্রান্তিকর ছিল - উভয়ই আমার কাছে (পারফোরস এবং সোর্স সেফ ব্যবহারের অভিজ্ঞতা যাদের ছিল) এবং যারা প্রোগ্রামাররা তাদের "প্রাসঙ্গিক ফোল্ডারগুলিকে কেবল জিপ আপ করুন" উপমা পছন্দ করেছেন to এটি একটি উদ্বেগজনক সরঞ্জাম ছিল যা আমার ওয়ার্কিং ডিরেক্টরিটির বিষয়বস্তুগুলি পরিবর্তন করে এবং প্রায়শই আমার কার্যকরী ডিরেক্টরিতে বিশেষ পরিবর্তনগুলি অন্তর্ভুক্ত করার জন্য সেই সরঞ্জামটির সাথে তর্ক করতে থাকে।

পরিবর্তে, আমি দুটি ধরণের নির্দেশনা ব্যবহার করি।

  • আমি আমার শাখাগুলির একটি ভিজ্যুয়াল ইতিহাস এবং একটি জিইউআই সরবরাহ করতে গিটক্রেন ব্যবহার করি যা কমান্ড লাইনের স্টেটমেন্টগুলি আড়াল করে। গিটক্রেন "মূল" দূরবর্তী সংগ্রহস্থল এবং গিটটি যা মনে করে তা হল আমার স্থানীয় ওয়ার্কিং ডিরেক্টরি between

  • আমি একটি "আসল" স্থানীয় ওয়ার্কিং ডিরেক্টরিও রাখি যা গিটটি আমার স্থানীয় ওয়ার্কিং ডিরেক্টরি থেকে আলাদা বলে মনে করে। আমি ম্যানুয়ালি এই দুটি কার্যকরী ডিরেক্টরি সিঙ্ক করেছি, যা আমাকে আরও বেশি স্বাচ্ছন্দ্য বোধ করে যে আমার ওয়ার্কিং ডিরেক্টরিতে যে কোনও পরিবর্তন হ'ল আমার ইচ্ছা।


0

এই কর্মীদের গিট শিখতে সাহায্য করার জন্য আমি কি করতে পারি?

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

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


0

শাখাজনিত সমস্যাগুলি সমাধান করার জন্য প্রায়শই গিটকে কোনও সংস্থায় ব্যবহার করা হয়। হ্যাঁ শাখাগুলিতে তখন সাবসার্শন ভাল, তবে এটি কোনও যাদু করে না।

অভিজ্ঞ বিকাশকারীদের রয়েছে এমন অনেক সংস্থায় কাজ করার সম্ভাবনা খুব সম্ভবত।

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

অতএব যত তাড়াতাড়ি কেউ আমাকে বলে যে একটি সরঞ্জাম আমার শাখা প্রশাখায় ভাল তা আমাকে বলে।

সংস্থাটি কীভাবে চলছে তা সিদ্ধান্ত নিতে চায় না, এবং বরং আমি চাইছিলাম যে আমি নিজের কাজটি 101 টি বিভিন্ন শাখায় মেশাতে এবং সেই সাথে সফ্টওয়্যারটির 101 টি বিভিন্ন প্রকাশের পরীক্ষা করতে পেরেছি life

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

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

তবে আমি কোথাও কাজ করতে পছন্দ করব যেখানে:

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

সুতরাং আসল সমস্যাগুলি সমাধান করুন এবং গিট যদি আপনার অভিজ্ঞ বিকাশকারীরা কিনবেন এমন সমাধানগুলির অংশ হয় তবে তাদের গিট পছন্দ করবেন বলে আশা করবেন না কারণ এটি একটি দুর্দান্ত খেলনা যা "ম্যাজিক মার্জ" করতে পারে।

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

আমি আশা করি কিলেন ( http://www.fogcreek.com/fogbugz/devhub ) বা এমনকি গিটহাব একটি "পুল অনুরোধ" ওয়ার্কফ্লো ব্যবহার করে অভিজ্ঞ বিকাশকারীদের খুশি রাখবেন, যেমন নিম্ন স্তরের সাথে শুরু করবেন না, উন্নত দিয়ে শুরু করুন প্রক্রিয়া।


1
গিটে স্থানান্তরিত হওয়ার কারণগুলি হ'ল: ১ জন সম্প্রদায় পরামর্শ এবং ডকুমেন্টেশন ২. ওয়াইড টুলের সামঞ্জস্যতা ৩. কোনও বিক্রেতার লক নেই। আমরা একটি টুলিং পাইপলাইন তৈরি করেছি (মূলত জিরা> বিটবুকিট> বাঁশ) যা পুনরায় সংহত করার আগে কোড পর্যালোচনা এবং ইউনিট পরীক্ষার প্রয়োগ করে। আপনি কী মতামত দিয়েছিলেন যে আমরা কাউবুই?
গুডডোর

@ গুডোর কারণ জিআইটি কেন্দ্রীয় নিয়ন্ত্রণবিহীন সংস্থাগুলির জন্য তৈরি করা হয়েছিল যেমন কাউবয় .....
ইয়ান

প্রশ্ন সংস্থা থেকে: "আমরা একটি কেন্দ্রীভূত গিট ফ্লো মডেল ব্যবহার করছি ..."
গুডডর

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

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