আমি কীভাবে গিটহাবে একটি প্রতিশ্রুতিবদ্ধ বার্তা সন্ধান করতে পারি?


328

না একটি গীত সংগ্রহস্থলের মধ্যে , বরং এ GitHub বিশেষভাবে - আমি কিভাবে খুঁজে দেখব শুধু একটি নির্দিষ্ট সংগ্রহস্থলের / শাখার বার্তা কমিট?


3
রেপো পাবলিক না বেসরকারী?

2
সমস্ত কাঁটাচামচে প্রতিশ্রুতিবদ্ধ বার্তাগুলি অনুসন্ধান সম্পর্কে কীভাবে? মূল সংগ্রহস্থলে 100+ এর বেশি কাঁটাচামচ থাকলে চাকাটি পুনরায় উদ্ভাবন এড়াতে চেষ্টা করা হচ্ছে!
ড্যানিয়েল সোকলোভস্কি

এরপরে কোন পরিবর্তন?
পাভেল Šিমেরদা

আমি অনুসন্ধান করতে চান নেটওয়ার্কের করে
frumbert

উত্তর:


68

2017 এর হিসাবে এটি গিটহাব নিজেই অন্তর্ভুক্ত একটি কার্যকারিতা ।

তাদের দ্বারা ব্যবহৃত উদাহরণ অনুসন্ধান repo:torvalds/linux merge:false crypto policy

এখানে চিত্র বর্ণনা লিখুন Https://github.com/blog/2299-search-commit-messages থেকে GIF চিত্র


আমি যে প্রাইভেট রেপোতে পড়েছি / এতে অ্যাক্সেস পড়েছি তা অনুসন্ধান করার সময় আমি অনুমতি ত্রুটি পেয়েছি।
anon58192932

1
আমি পাঁচ মিনিট ধরে দেখছি এবং জুমটি নিচে নেমে যাওয়ার পরে এবং ডানদিকে মাউসটি কোথায় যায় তা আমি বুঝতে পারি না।
কেভিন ক্রামউইদে

1
@ কেভিন ক্রামভিয়েদ সম্ভবত "রেকর্ডিং বন্ধ করুন" বোতামে হা হা
কোরি কোল

আমি ছেড়ে দিয়েছিলাম এবং "গিট লগ
এডউইন ইভান্স

206

আপনি এটি করতে সক্ষম হতেন, তবে গিটহব 2013-এর মাঝামাঝি সময়ে এই বৈশিষ্ট্যটি সরিয়ে নিয়েছে। স্থানীয়ভাবে এটি অর্জন করতে, আপনি এটি করতে পারেন:

git log -g --grep=STRING

( -gআপনি যদি অন্যান্য শাখা এবং ড্যাংলিং কমিটগুলি সন্ধান করতে চান তবে পতাকাটি ব্যবহার করুন ))

-g, --walk-reflogs
    Instead of walking the commit ancestry chain, walk reflog entries from
    the most recent one to older ones.

143
কেন হ্যাক তারা এটিকে সরিয়ে দিয়েছে? এটি সত্যিই সহায়ক বৈশিষ্ট্য।
জোশ ব্রাউন

1
ফ্যাক্টর মিস্টিক: I.ਵੰਤ.spaces.in.this.string সাধারণত যথেষ্ট হয়।
dbrower

11
-gসর্বাধিক সাধারণ ব্যবহারের ক্ষেত্রে পতাকাটি বাদ দিতে পরামর্শ দিন । আমি এটিতে খুব বেশি নজর দেইনি, তবে এটির সাথে -gঅনুসন্ধানটি কেবল এক মাস ফিরে যাবে বলে মনে হচ্ছে। git log -g --grep=fixযখন developএকটি রেপো আছে ~ 8000 দুই বছর spanning করে শাখা, শুধুমাত্র হিসাবে পর্যন্ত ফিরে 2. ফেব্রুয়ারী যেমন যায়
ড্যান Dascalescu

1
@ ড্যানডাসকলেসকু স্ট্রেঞ্জ, আমি -gপতাকাটি সহ কমপক্ষে 5 মাসের মধ্যে ফেরত যেতে চাইছিলাম ।
ক্রিসি 26'15

134

আপডেট (2017/01/05):

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


আমারও একই প্রশ্ন ছিল এবং গতকাল গিটহাবের কারও সাথে যোগাযোগ করেছি:

যেহেতু তারা তাদের অনুসন্ধান ইঞ্জিনটি ইলাস্টিকসারচে সরিয়ে নিয়েছে গিটহাব ইউআই ব্যবহার করে প্রতিশ্রুতিবদ্ধ বার্তাগুলি সন্ধান করা সম্ভব নয়। তবে সেই বৈশিষ্ট্যটি দলের ইচ্ছার তালিকায় রয়েছে।

দুর্ভাগ্যক্রমে এখনই এই ফাংশনটির জন্য কোনও প্রকাশের তারিখ নেই।


7
+1 আপনি আমাকে গিটহাবের ফলহীন সময় বাঁচিয়েছেন ভেবে ভেবে কীভাবে কার্যকারিতাটির সুস্পষ্ট অংশ হতে পারে তা কীভাবে অর্জন করব। সুতরাং এখন আমাদের পরিবর্তে কমান্ড লাইনের মাধ্যমে গ্রেপ করতে রেপো ক্লোন করতে হবে। জীজ, এটাই কি অগ্রগতি? ;)
ম্যাকনাব

68
এমনকি ওয়েব ইউআইতে তাদের উন্নত অনুসন্ধান সর্বাধিক গুরুত্বপূর্ণ ক্ষেত্রে অনুসন্ধান করার অনুমতি দেয় না - আসল প্রতিশ্রুতি বার্তা। এটি একেবারে হাস্যকর আইএমও। গিথুব আপনার অভিনয় একসাথে!
ব্র্যাড টমাস

22
হ্যাঁ. ওপেন সোর্স সফ্টওয়্যারটিকে বিপ্লব করতে ও জনপ্রিয় করতে সহায়তা করে এমন একটি ওয়েব সার্ভিস তৈরি করেছেন এ বিষয়টি ভুলে যান, তাদের এই বৈশিষ্ট্যটি নেই যে এটিকে সম্পূর্ণ লজ্জা দেয়!
জন কেয়ার্নস

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

1
আটলাসিয়ানের পাবলিক ট্র্যাকারের চেয়ে খুব বেশি ভাল নয়, যা 1000 এর উপকারের সাথে 7 বছরের পুরানো খোলামেলা ইস্যুতে পূর্ণ ...
Askdesigners

58

সংক্ষিপ্ত উত্তরটি হল, আপনি github.com ওয়েবসাইটে সরাসরি প্রতিশ্রুতিবদ্ধ বার্তা অনুসন্ধান করতে পারবেন না। আপাতত আমরা git grepএই থ্রেডের অন্যদের প্রস্তাব স্থানীয় সমাধানের প্রস্তাব দিই ।

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

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


2
+1 টি। এটি আমার উত্তরটি লেখার জন্য যা ভেবেছিল তা নিশ্চিত git diff'sকরে
তোলে

কীভাবে কেবল "প্রতিশ্রুতিবদ্ধ করতে লাফ দিন" বোতামটি? বর্তমানে এটি ইউআরএল - stackoverflow.com/a/12214817/817632 থেকে অ্যাক্সেসযোগ্য তবে এর জন্য কোনও ইন্টারফেস নেই (এটি আমি জানি না)। কেসটি ব্যবহার করুন - সংস্করণের পরিবর্তে কোথাও বওয়ার.জসনে একটি প্রতিশ্রুতিবদ্ধ হ্যাশ সন্ধান করুন এবং এই প্রতিশ্রুতিটি ঠিক কী করে তা দেখতে চান। এটি কিছুটা সময় গোগলিং সাশ্রয় করবে।
ওলগা

44

এটি গিটহাব থেকে সরানো হয়েছে। আমি ব্যবহার করি:

$git log --all --oneline | grep "search query"

এখানে চিত্র বর্ণনা লিখুন

আপনি লেখক দ্বারাও ফিল্টার করতে পারেন:

$git log --all --oneline --author=rickhanlonii | grep "search query"

3
এটি আমার পক্ষে কাজ করেছিল, তবে সর্বাধিক উত্সাহিত উত্তর তা দেয় নি।
মাকদাদ

21

অনুসন্ধানের কোডের সহায়তা পৃষ্ঠা থেকে মনে হয় এটি এখনও সম্ভব নয়।

অনুসন্ধানের জন্য ফাইল বা পাথ বেছে নেওয়ার ক্ষমতা সহ আপনি আপনার সংগ্রহশালায় পাঠ্যের সন্ধান করতে পারেন, তবে আপনি কমিটে অনুসন্ধান করতে চান তা নির্দিষ্ট করতে পারবেন না।

হয়তো তাদের এই সুপারিশ ?


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

19

আপনি গুগল দ্বারা ক্রল করা ভান্ডারগুলি দিয়ে এটি করতে পারেন (ফলাফলগুলি সংগ্রহস্থল থেকে সংগ্রহস্থল পর্যন্ত পরিবর্তিত হয়)।

"পরিবর্তন পরিবর্তন" এর জন্য সমস্ত ক্রলযুক্ত সংগ্রহস্থলের সমস্ত শাখা অনুসন্ধান করুন

"লাইসেন্স পরিবর্তন করুন" সাইট: https://github.com/*/*/commits

"পরিবর্তন লাইসেন্স" এর জন্য সমস্ত ক্রলযুক্ত সংগ্রহস্থলের সন্ধানের মাস্টার শাখা:

"লাইসেন্স পরিবর্তন করুন" সাইট: https://github.com/*/*/commits/master

"পরিবর্তন লাইসেন্স" এর জন্য সমস্ত ক্রলযুক্ত টুইটারের সংগ্রহস্থলের সন্ধানের মাস্টার শাখা

"লাইসেন্স পরিবর্তন করুন" সাইট: https://github.com/twitter/*/commits/master

"পরিবর্তন লাইসেন্স" এর জন্য টুইটার / কিছু_প্রজেক্টের সমস্ত শাখা অনুসন্ধান করুন

"লাইসেন্স পরিবর্তন করুন" সাইট: https://github.com/twitter/some_project/commits


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

15

জানুয়ারী 2017 আপডেট করুন (দুই বছর পরে):

আপনি এখন প্রতিশ্রুতিবদ্ধ বার্তা অনুসন্ধান করতে পারেন ! (এখনও কেবলমাত্র মাস্টার শাখায়)

https://cloud.githubusercontent.com/assets/1387653/21622772/61a5c7a6-d1bc-11e6-809d-134936a4ac05.gif


ফেব্রুয়ারী ২০১৫: ইলাস্টিকসার্কের বর্তমান অনুসন্ধান অবকাঠামো বেস ( জানুয়ারী ২০১৩ সালে প্রবর্তিত) বিবেচনা করে এটি যে কখনও সম্ভব হয়েছে তা নিশ্চিত নয় ) ।

একটি উত্তর হিসাবে "বিশ্বাসযোগ্য এবং / বা সরকারী উত্স থেকে অঙ্কন", এখানে গিটহাবের ইলাস্টিকারচ পরিচয় করানোর দায়িত্বে গিটহাবের লোকদের সাথে করা একটি সাক্ষাত্কার দেওয়া হয়েছে (আগস্ট ২০১৩)

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

অ্যান্ড্রু চোলাকিয়ান: সুতরাং, তোমরা সবাই কেবল সূচক, আমি ধরে নিচ্ছি, মাস্টার শাখা।

টিম পীজ: সঠিক। এটি কেবলমাত্র মাস্টার শাখার প্রধান যে আপনি সেখানে যাবেন এবং এখনও এটি প্রচুর ডেটা, দুই বিলিয়ন ডকুমেন্ট, 30 টেরাবাইট।

অ্যান্ড্রু চোলাকিয়ান: এটি দুর্দান্তভাবে বিশাল।

[...]

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

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

মনে রাখবেন যে স্থানীয় ক্লোনটির নিজস্ব ইলাস্টিক অনুসন্ধান স্থানীয় সূচিপত্র পাওয়া অসম্ভব নয়: দেখুন " ইলাস্টিক অনুসন্ধানের সাথে গিট সংগ্রহস্থল অনুসন্ধান করা "

তবে একটি নির্দিষ্ট রেপোর জন্য, এটি ক্লোন করা এবং একটি করা সহজতম অবশেষ:

git log --all --grep='my search'

(" প্রতিশ্রুতি বার্তার মাধ্যমে গিট সংগ্রহস্থল কীভাবে সন্ধান করবেন? " এ আরও বিকল্পসমূহ )


7

যেহেতু এটি গিটহাব থেকে সরানো হয়েছে, তাই এটি করার জন্য আমি gitkলিনাক্সে ব্যবহার করছি ।

টার্মিনাল থেকে আপনার সংগ্রহস্থলে যান এবং টাইপ করুন gitk

জিইউআইয়ের মাঝখানে একটি অনুসন্ধান বাক্স রয়েছে। এটি ফিল্টারগুলির একটি ভাল নির্বাচন সরবরাহ করে:

সার্চ বার

স্কোপ - ধারণ করে, পায়ে স্পর্শ করা, স্ট্রিং যুক্ত করা / অপসারণ, লাইন ম্যাচ পরিবর্তন করা

ম্যাচের ধরণ - সঠিক / IgnCase / Regexp

ক্ষেত্রগুলি অনুসন্ধান করুন - সমস্ত ক্ষেত্র / শিরোনাম / মন্তব্য / প্রতিশ্রুতিবদ্ধ



4

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

#!/bin/sh
for sha1 in $(git rev-list HEAD -i --grep="$1"); do
    python -mwebbrowser https://github.com/RepoOwnerUserName/RepoName/commit/$sha1 >/dev/null 2>/dev/null
done

কেবলমাত্র https://github.com/RepoOwnerUserName/RepoName/আপনার সংগ্রহস্থলের আসল গিটহাব ইউআরএল প্রতিস্থাপন করুন, স্ক্রিপ্টটি কোথাও সংরক্ষণ করুন (যেমন githubsearch.sh, এটি কার্যকরকরণযোগ্য করুন chmod +x githubsearch.sh) এবং তারপরে নীচের উপন্যাসটি আপনার যুক্ত করুন~/.bashrc ফাইলটিতে করুন:

alias githubsearch='/path/to/githubsearch.sh'

তারপরে, আপনার গিট সংগ্রহস্থলের যে কোনও জায়গা থেকে, টার্মিনালে এটি করুন:

githubsearch "what you want to search for"

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


0

২০১৮ সালের মাঝামাঝি হিসাবে, উপরের বাম অনুসন্ধান বাক্সে আপনি যা যা সন্ধান করতে চান কেবল তা টাইপ করুন এবং তারপরে "কমিটস" এ ক্লিক করুন।

এখানে চিত্র বর্ণনা লিখুন

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