অন্তর্বর্তী গিট প্রিন্ট করার কোন উপায় আছে কি?


0

আশা করি এই প্রশ্নটির জন্য সঠিক ফোরাম ... যদি না বলো।

আমি গিটের মৌলিক ব্যবহারকারী, কিন্তু গত কয়েক মাস ধরে এই অ্যাপ্লিকেশনটির উন্নয়ন করছি, নীতিটি "ঘন ঘন করে" ব্যবহার করে। তাই এখন আমি শুধু দৌড়ে git rev-list --all --count, এবং আমি আমার 425 কমিট আছে।

এটি পাগল হতে পারে ... অথবা এটি পুরোপুরি স্বাভাবিক হতে পারে। আমার কোন ধারণা নাই.

জিনিসটি হ'ল রিপোজিটরিটি একটু অপ্রত্যাশিত হয়ে উঠছে এবং আমি কোনও আদর্শ জগতে যা করতে চাই তা হল, কেবল 3 টির মধ্যে 2 টি মুছে ফেলার মাধ্যমেই করা যায়: আমি যা করতে চাই তার বার্তাগুলি চাই যেভাবে থাকা যায় সেগুলির বার্তাগুলিতে যেভাবে যোগ করা হবে তা মুছে ফেলা হবে ...

এটি করার একটি "ম্যানুয়াল" উপায় রয়েছে: আমি সম্পূর্ণ রেপোর মাধ্যমে চেষ্টা করি, প্রতি 3 য় কমিটি পরীক্ষা করে দেখি, যেগুলি আমি সংরক্ষণ করছি না সেগুলি থেকে সাবধানে পাঠ্য এবং "প্রত্যেকটি তৃতীয়" বার্তা।

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


কি একটি ~ 400-কমিট রিপোজিটরি "একটু অপ্রতিরোধ্য" করে তোলে?
grawity

ধন্যবাদ। অন্তত এটি আপনাকে হাসতে দেয়নি: প্রথম বাধাটি সাফ করা হয়েছে। ওয়েল আমি মাঝে মাঝে গুগল ড্রাইভে এই রেপো ব্যাক আপ করছি: মুহুর্তে এটি 11 এমবি, খুব লোমশ নয়। কিন্তু আমার মনের মূল ধারণা হল: কিছু সময়ের আগেই ঐসব পৃথক পদক্ষেপগুলি একাধিকবার পরিষ্কার করার জন্য আমাকে মাসিক মাস থেকে 425 টি ছোট-ধাপে ধাপগুলি পালন করতে হবে না ... এটি আসলে বিষয়টির নীতির একটি প্রশ্ন তুলনায় (এখনো) একটি বাস্তব ব্যাপার।
mike rodent

উত্তর:


1

কেন

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

প্রতিশ্রুতি ইতিহাস পুনর্বিবেচনার হয় সাধারনত সম্পন্ন (সম্মতিগুলি একত্রিত করতে, তাদের চারপাশে স্যুপ করা ইত্যাদি) - কিন্তু যদি আপনি ইচ্ছাকৃতভাবে প্রতি 3 টির মধ্যে 2 টি মুছে ফেলেন তবে সম্ভবত এটি থাকবে শুধু নিরর্থক হিসাবে পূর্বের মত. পরিবর্তে, "হোয়াওপস, একটি টাইপ ঠিক করুন", বা বার্তা প্রেরণ করার জন্য আরো বিস্তারিত যুক্ত করার মতো জিনিসগুলি পরিষ্কার করতে ইতিহাসটি পুনর্বিবেচনা করুন।

অবশ্যই, উপরে মতামত একটি বিষয়, কিন্তু কম্পিউটার সাধারণত জিনিস মনে রাখবেন যাতে আপনি করতে হবে না আরো বেশি ব্যবহারিক।

425 commits বেশ কয়েক মাস প্রকল্পের জন্য স্বাভাবিক। এটি অনেক বাস্তব-বিশ্বের গিট সংগ্রহস্থলগুলির তুলনায় অপেক্ষাকৃত ক্ষুদ্রতর (যা হাজার হাজার দ্বারা পরিমাপ করে)। আপনার উদ্বেগ ডিস্ক স্পেস ব্যবহার করা হয়, এবং গিট পর্যায়ক্রমিক চালানো হয় না git gc এখনো, এটি চালানোর চেষ্টা করুন এবং যে সাহায্য করে দেখুন।

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

বিন্দু ফিরে পেতে

গিট ইতিহাস পুনর্লিখনের জন্য অনেক সরঞ্জাম আছে - সবচেয়ে সাধারণ git rebase --interactive, যা আপনি চান সম্পাদনা ঠিক ধরনের করতে পারেন।

; on a feature branch, to rewrite everything that's not yet in master
git rebase -i master

; on master, to go through the *entire history*
git rebase -i --root

ইন্টারেক্টিভ মোডে এটি চালানো একটি টেক্সট এডিটরতে একটি "todo তালিকা" খোলে, প্রতি এক লাইন প্রতি কমিট এবং এর সামনে একটি "পদক্ষেপ"।

  • চারপাশে লাইন পরিবর্তন কমিট reorder হবে। (তবে, টেক্সট পরিবর্তন হবে না বার্তা প্রেরণ আপডেট - তারা শুধু প্রাকদর্শন। ব্যবহার reword বাস্তব বার্তা সম্পাদনা করতে।)

  • থেকে কর্ম পরিবর্তন pick থেকে squash উপরের একটিের সাথে অঙ্গীকারটি একত্রিত করবে - যার ফলে উভয় বার্তা রয়েছে এমন একটি একক প্রতিশ্রুতি।

  • দ্য fixup কর্ম অনুরূপ, কিন্তু শুধুমাত্র প্রথম বার্তা রাখে।

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


ধন্যবাদ ... এটি আমার নিম্ন স্তরের জন্য খুব তথ্যপূর্ণ এবং আমি যা বলি তা ঘনিষ্ঠভাবে পরীক্ষা করব। আপনি কি Google ড্রাইভের বাসিন্দা একটি রেপোতে "ধাক্কা দিতে" পারেন, আমি আশ্চর্য, নাকি আপনি GitHub এ কিছু সেট আপ করতে হবে? আমি আসলেই আমার মতো কেউ (আইটি পেশাদার না) এর জন্য GitHub তে অপঠিত ইবুক হিসাবে কাজ করেছি, এটি কীভাবে কাজ করে তা বোঝা বেশ কঠিন।
mike rodent

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

আবার ধন্যবাদ. আমি BitBucket এবং / অথবা GitLab Asap চেহারা হবে!
mike rodent

উভয় ওয়েবসাইট বিনামূল্যে হোস্টিং অ্যাকাউন্ট প্রদান করুন এবং ইনস্টলযোগ্য "এন্টারপ্রাইজ" পণ্য অফার, তাই সামনে পাতা বিজ্ঞাপন দ্বারা বিভ্রান্ত না; শুধু "সাইন আপ" লিঙ্ক সরাসরি যান। এছাড়াও, আপনি GitHub ব্যবহার না করলেও, এটির সহায়তা অঞ্চলের জন্য অনেক টিউটোরিয়াল রয়েছে git push এবং SSH সমানভাবে সব সাইটে প্রযোজ্য।
grawity
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.