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


151

গিটিহাব-এ, কোনও বৃহত ওপেন সোর্স প্রকল্পের প্রথম দিকের প্রতিশ্রুতিতে নেভিগেট করার কী সহজ উপায় আছে?

প্রকল্পটি আজ হিসাবে 13,000 এরও বেশি কমিট করেছে। প্রাথমিক প্রতিশ্রুতি (বা প্রথম প্রতিশ্রুতি) পেতে আমি কমিটস ইতিহাসের পৃষ্ঠাটিতে "ওল্ডার" বোতামটি কয়েকশ এবং কয়েকবার চাপতে চাই না।


2
আপনি কি এর পরিবর্তে স্থানীয়ভাবে নেভিগেট করার জন্য ভান্ডারটিকে ক্লোনিং করার বিষয়টি বিবেচনা করেছেন?
jub0bs


অন্তর্দৃষ্টি / অবদানকারীরা মাস্টার শাখায় কমিটের সম্পূর্ণ পরিসীমা দেখায়।
টুলমেকারস্টেভ

উত্তর:


101

সংগ্রহস্থলটি ক্লোন করুন, কমান্ড লাইনের সাথে খুলুন এবং রান করুন $ git log --reverse

এটি কমিটগুলি বিপরীত ক্রমে দেখায়।

তারপরে আপনি প্রথম কমিটের আইডি (অবজেক্টের নাম) পেলে গিথুব এ এটি দেখতে পারবেন ... এর মতো কিছু ... https://github.com/UserName/Repo/commit/6a5ace7b941120db5d2d50af6321770ddad4779e


15
আমি বিশ্বাস করতে পারি না যে একটি সাধারণ, যুক্তিসঙ্গত উত্তর খুঁজতে আমাকে কতটা অদ্ভুত, অতি-জটিল omp ধন্যবাদ।
সম্মিত

7
একটি টুইট, আমি এটি যুক্ত করতে হবে oneline- git log --reverse --onelineযাতে আপনি এটি একটি তালিকা হিসাবে দেখতে পারেন
rynmrtn

এবং যদি আপনি উইন্ডোজ কমান্ড প্রম্পটটি ব্যবহার করেন এবং ভিমে (?) এ চুষতে না চান তবে ব্যবহার করুন git log --reverse --oneline | more। স্ট্যান্ডার্ড moreআচরণ, ছাড়ার জন্য Ctrl + C।
সিনজাই

82

এটি করার জন্য কোনও সুস্পষ্ট ইউআই নেই, তবে প্রতিশ্রুতিবদ্ধ লগের কোনও পৃষ্ঠায় যাওয়ার জন্য সঠিক URL তৈরির উপায় রয়েছে।

ধরুন আমরা ডটনেট / কোরক্লার রিপোজিটরির প্রথম কমিট সন্ধান করতে চাই । প্রথমে সংগ্রহস্থলের কমিটের সংখ্যাটি নোট করুন: বর্তমানে এটি 16,634 is এখন কমিটের তালিকায় যান এবং একবার "পুরানো" ক্লিক করুন । ইউআরএল কিছু হবে:https://github.com/dotnet/coreclr/commits/master?after=872095a758a3a6191a9798c94a98e8d1e16b2254+34

+34অংশটি লক্ষ্য করুন । কতগুলি কমিট এড়িয়ে যায় এটি প্রতি পৃষ্ঠায় 16,634 বিয়োগ 1 মাইনাস 35 তে পরিবর্তন করুন , যা আমাদের এই URL দেয় , যা আপনাকে প্রথম ক্লাইকারের ইতিহাসের প্রথম পৃষ্ঠায় নিয়ে যায় commit


4
সুন্দর, আমি এটি করতে একটি বুকমার্কলেট তৈরি করেছি। github.com/bpceee/oldest
বিপিসিআই

প্রকল্প কমিট তালিকার প্রাথমিক কমিটটি দেখার এটি উত্তম উত্তর।
কয়েল

হাহা এটি গৃহীত উত্তরের পরামর্শের চেয়ে অনেক দ্রুততর ;-)
অ্যাডারচক্স

46

ফেব্রুয়ারী ২০১৫: গিটহাব-এ , কোনও বৃহত ওপেন সোর্স প্রকল্পের প্রথম দিকের প্রতিশ্রুতিতে নেভিগেট করার সহজ উপায় কি আছে ?

হ্যাঁ এখন আছে! (অর্থ: ছাড়া রেপো ক্লোনিং এবং প্রয়োগের git logস্থানীয় ক্লোন মধ্যে)

জানুয়ারী ২০১ Since সাল থেকে, গিটহাবে আপনার " উন্নত দোষ প্রদর্শন সহ ফাইলের ইতিহাস দ্রুত নেভিগেট করুন "।

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

এখানে তিনটি ক্লিকের মধ্যে গিট / গিট রেপো নিজেই (47 কে + কমিট করে) মূলতম প্রতিশ্রুতিতে ফিরে আসার জন্য একটি ডেমো রয়েছে !

ডেমো গিট / গিট

কৌতুকটি হ'ল প্রথমটি (বা খুব তাড়াতাড়ি) কমিটের মতো একটি ফাইল সম্ভবত খুঁজে পাওয়া সম্ভাব্য একটি ফাইল বেছে নেওয়া README.md


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

1
@ উইলফ্রেড হিউজেস আমি 32,986 পিছনে লাফিয়ে যাওয়ার জন্য এই পদ্ধতিটি ব্যবহার করেছি প্রথম প্রতিশ্রুতিতে প্রতিশ্রুতিবদ্ধ যা মজাদার ইস্টার ডিম হিসাবে দেখা দেয়। এই ক্ষেত্রে, রিডমি শুরু পর্যন্ত ফিরে যায়নি, তাই আমি অন্য Browse filesএকটি ফাইলের জন্য দোষ টিপে এবং খোলার মাধ্যমে প্রক্রিয়াটি পুনরাবৃত্তি করেছি ।
অ্যান্ড্রুয়ারচি

পছন্দ করেছেন : আসলে প্রথম কয়েক করে ইস্টার-ডিম আছে stackoverflow.com/a/21981037/6309
VonC

আমি এটিকে একটি "কার্যনির্বাহী" হিসাবে বিবেচনা করব যেখানে @ এস্কলজির উত্তর আরও সরাসরি।
জিমি বোস

@ জিমিবোস এটি কোনও কার্যকর কাজ নয় । এটি মূল প্রশ্নের উত্তর। git logআপনি যদি স্থানীয়ভাবে (সম্ভাব্য বিশাল) রেপো ক্লোন করে থাকেন তবে কেবলমাত্র একটি কাজ করে। আপনি যদি মুষ্টি প্রতিশ্রুতিতে " নেভিগেট " করতে চান , তবে এটি এটি।
ভনিসি

37

নোডেজ প্রকল্পের প্রথম দিকের কমিটগুলির মধ্যে একটি দেখতে চেয়েছিলাম । আমি নিম্নলিখিতটি করেছি।

  1. সাইট নোডেজ পরিদর্শন করেছেন । তারপরে পর্যবেক্ষণ করা হয়েছে যে সময়ে এই সময়ে মোট কমিটের সংখ্যা প্রায় তেইশ হাজার (সুনির্দিষ্ট হওয়ার জন্য 23652) is

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

  1. এরপরে আমি সেই কমিটস লিঙ্কটিতে ক্লিক করেছি এবং এটি আমাকে নীচে প্রদর্শিত হিসাবে https://github.com/nodejs/node/commits/master এ নিয়ে গেছে।

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

  1. এখন নীচে স্ক্রোল করে আমি আরও নতুন এবং পুরানো বোতামগুলি পেয়েছি। নতুন বোতামটি অক্ষম। আমি পুরানো বোতামটি ক্লিক করেছি এবং এটি আমাকে https://github.com/nodejs/node/commits/master? after=de37ba34c5d6f3a2d18daf482f850be8fddb4621+34 এ নিয়ে গেছে

  2. এখন দেখুন যে ইউআরএলটিতে +34 রয়েছে। এখন আমি এটি পরিবর্তন করে 23000 (যেহেতু আমি যে কমিটস পর্যবেক্ষণ করেছি তার সংখ্যা 23000)। সুতরাং আমি যে নতুন ইউআরএলটি চেষ্টা করেছি তা হ'ল

https://github.com/nodejs/node/commits/master?after=de37ba34c5d6f3a2d18daf482f850be8fddb4621+23000

  1. এখন আমি প্রায় সেখানে আছি। আরও কয়েকটি পুনরাবৃত্তি বা পুরানো বোতাম ক্লিকের মাধ্যমে আমি যেখানে চাই সেখানে পৌঁছেছি।

2
এটি কি উত্তরের 2 টি উত্তরের সদৃশ? stackoverflow.com/a/49647826
এড্রিক

2
সদৃশ উত্তর, তবে আমি চিত্রগুলি পছন্দ করি এটি এটিকে আরও আকর্ষণীয় করে তোলে।
বিজয়ী_জাইনার

7

আপনি init বুকমার্কলেট ব্যবহার করে একটি গিটহাব সংগ্রহস্থলের প্রথম প্রতিশ্রুতিতে নেভিগেট করতে পারেন ।

এটা

আপনাকে কোনও রেপোর প্রথম প্রতিশ্রুতিতে দ্রুত পৌঁছে দেওয়ার জন্য একটি বুকমার্কলেট

সংক্ষিপ্ত বিবরণ

কোনও রেপোতে পুরানো প্রতিশ্রুতিতে দ্রুত নেভিগেট করতে সক্ষম হওয়া বেশ সহায়ক। আপনার বুকমার্ক বারে বুকমার্কলেট (লিঙ্ক) টানুন এবং আপনি যখনই কোনও রেপোর প্রথম প্রতিশ্রুতিতে যেতে চান এটিতে ক্লিক করুন।

ব্যবহার

যে কোনও নির্দিষ্ট রেপোয়ের অবতরণ পৃষ্ঠায় যান (e.g. like the one you're on)এবং বুকমার্কলেট ক্লিক করুন, যা আপনাকে প্রথম পৃষ্ঠায় নিয়ে যাবে (প্রাথমিক প্রতিশ্রুতি)। ডিফল্টরূপে, এটি masterশাখাটিকে ট্র্যাক করে , তবে আপনি যদি branchঅবতরণ পৃষ্ঠায় পরিবর্তন করেন তবে এটি শাখার প্রথম প্রতিশ্রুতিতে চলে যাবে।

গিটহাবের README.md থেকে পুনরুদ্ধার করা হয়েছে


দাবি অস্বীকার : আমি এই উত্তর পোস্ট করার কয়েক মিনিট আগে একটি ছোট রেডমে আপডেট অবদান রেখেছিলাম


7

আপনি নিম্নলিখিতগুলির সাথে কমিটের প্রথম পৃষ্ঠায় যেতে পারেন, যা আমি ক্রোম দেব সরঞ্জামগুলিতে একটি স্নিপেট হিসাবে রেখেছি।

function githubFirstCommitsPage() {
  let el = document.querySelector('.repository-content');
  let base = el.querySelector('a[data-pjax]').href;
  let count = el.querySelector('.commits .num')
    .textContent
    .trim()
    .replace(/[^\d\.\-]/g, "");
  count = count-36;
  let sha = el.querySelector('.commit-tease-sha')
    .href
    .split('/');
  sha = sha[sha.length-1];
  window.location = `${base}?after=${sha}+${count}`;   
}

githubFirstCommitsPage();

1
ধন্যবাদ! আমি জানতাম না যে আপনি এই জাতীয় স্নিপেটগুলি সংরক্ষণ করতে পারেন তাই আপনার পোস্টটি দুটি মাত্রায় সহায়ক।
বামাকনফটন

6

আপনাকে git log --reverseগিটের আদেশটি ব্যবহার করতে হবে ।

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

তারপরে, কিছু sedযাদুবিদ্যার সাহায্যে আপনার প্রথম কমিটের তারিখের মতো কিছু থাকতে পারে (যা আমি দেখেছি যা আমি নিজের জন্য সর্বদা প্রয়োজন) needed

git log --reverse | sed -n 3p

পরিশেষে, আপনি (, যেহেতু এটি বেশিরভাগই পারেন কমান্ড টাইপ করতে বা শুধু সেটিকে মনে রাখারও অসম্ভব বিরক্তিকর) পাশাপাশি এই স্বয়ংক্রিয় করতে চাইবেন তাই মত একটি শেল স্ক্রিপ্ট এই এক রেসকিউ লাগতে পারে।



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