গিটহাব: ফাইলগুলির পুরানো সংস্করণগুলির মাধ্যমে অনুসন্ধান করা


103

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

সম্পাদনা

গিট কমান্ড লাইন থেকে এটি কীভাবে করা যায় তা প্রদর্শনের জন্য @ মারক লংগায়ারকে ধন্যবাদ। যদি এটি গিটহাবে সম্ভব না হয় তবে এটি একটি দুর্দান্ত বৈশিষ্ট্য হবে।

উত্তর:


125

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

তবে, কমান্ড লাইন থেকে, আপনি যে কোনও কমিটগুলি আবিষ্কার করতে বা অপসারণের বিকল্পগুলির get_infoসাথে উল্লেখ করা লাইনগুলি সরিয়ে ফেলতে -Sপারেন git log। যেমন:

git log -Sget_info -p

(এনবি -Sএবং অনুসন্ধান শব্দটির মধ্যে কোনও স্থান থাকা উচিত )

(এছাড়াও দ্রষ্টব্য: একাধিক শব্দের সন্ধান করতে, চারপাশে থাকা '):

git log -S'get info' -p

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

Jefromi যে Git 1.7.4 নিচে একটি মন্তব্য আউট পয়েন্ট পরিচয় করিয়ে দিতে হবে -Gএকটি বিকল্প হিসাবে বিকল্প - এই পরিবর্তন junio Hamano (Git রক্ষণাবেক্ষণকারী) থেকে একটি সাম্প্রতিক ব্লগ পোস্টে সংক্ষিপ্ত করা হয়: http://gitster.livejournal.com/48191.html


4
হ্যাঁ, আমি জানি আমি মন্তব্যগুলি অনুসন্ধান করতে পারি, তবে কোড সন্ধানের কী?
নর্মাস্কি

10
-S বিকল্পটি কোডটিতে সন্ধান করে - এটি কোনও কমিট সন্ধান করে যেখানে প্রতিশ্রুতি get_infoদেয় যে ভিন্নতার মধ্যে রয়েছে। --grepলগ বার্তাগুলি অনুসন্ধান করে এমন বিকল্পের সাথে আপনি বিভ্রান্ত হয়ে পড়তে পারেন ।
লংগায়ার

4
@ নরমসকি: এবং গিটের সাম্প্রতিক সংস্করণগুলিতে অনুরূপ -Gবিকল্প যুক্ত হয়েছে, যা একটি নির্দিষ্ট স্ট্রিংয়ের পরিবর্তে একটি রেজেেক্স নেয়।
ক্যাসাবেল

@ জেফ্রমি: উল্লেখ করার জন্য ধন্যবাদ - আমি উত্তরে এটি যোগ করেছি, আশা করি এটি ঠিক আছে।
মার্ক লংগায়ার

4
@ অ্যান্টনি দামিকো: হ্যাঁ, কেবল অনুসন্ধানের স্ট্রিংটি উদ্ধৃত করুন, যেমনgit log -S'get info' -p
মার্ক লংগায়ার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.