গিট প্রথম 10 লগ ইন করুন


92

দুটি প্রশ্ন:

  1. প্রথম থেকে শেষ পর্যন্ত গিটে প্রথম 10 প্রতিশ্রুতিটি কীভাবে প্রদর্শিত হবে। (কোন শাখা নেই)
  2. কীভাবে কমিট ইনডেক্স নির্দিষ্ট করে এটি লগ করে। (দ্বিতীয় বা তৃতীয় দেখান)

আমি জানি যে গিটটি পিতামাতাকে কমিটকে লিঙ্ক করতে ব্যবহার করে, কমিটটি শেষ থেকে শুরু করে লগ করা সহজ। পছন্দ:git log HEAD~10

তবে আমার শুরু থেকে শেষ হওয়া পর্যন্ত জিজ্ঞাসা করা দরকার, এটি কি সম্ভব?



@ কোস্টিক্স উত্তরে স্ক্রোল করুন
মুহাম্মদ উমর

উত্তর:


60

কেবল এক লাইনের বিন্যাসের সাথে সবকিছুতে লগ করুন এবং আউটপুটটি লেজ করুন:

git log  --pretty=oneline | tail -n 10 

দুর্দান্ত! এটাই খুঁজছি। @ চার্লসবি।
yohan zhou

4
অথবা, git rev-list HEAD | tail -n 10তালিকা করতে 10 আইডি পেতে ব্যবহার করুন , যা আপনি নিজের পছন্দমতো বিন্যাসে প্রদর্শন করতে পারেন (এক-লাইন পদ্ধতিতে সীমাবদ্ধ নয়)।
torek

17
tailআমি আমার গিট কনসোলটিতে যে সুন্দর রঙ পেয়েছি তা হারাতে পারে বলে মনে হচ্ছে। git log --oneline -10অন্যান্য উত্তরের মতো প্যারামিটারটি পাস করা আমার প্রত্যাশা মতো কাজ করে।
জেমস হালস

4
এটি স্পষ্টভাবে হার্ড-কোর ইউনিক্স উপায়, হ'ল। দয়া করে @ কোস্টিক্স উত্তরটি দেখুন।
9301293

4
এই পদ্ধতির খারাপ দিকটি হ'ল আমি কেবল আমার ধাক্কা দেওয়া কমিটগুলি দেখতে পাচ্ছি।
জ্যাক '

256
git log -10

রিভিশন স্পেকের সাথে মেলে 10 টি সর্বশেষ কমিট প্রদর্শন করবে (একটি অনুপস্থিত স্পেকটির অর্থ "সমস্ত কমিট")।

ম্যানপেজ দেখুন:

git help log

অধ্যায় Commit Limiting

-<number>, -n <number>, --max-count=<number>
    Limit the number of commits to output.

6
সহজ, এবং tailআপনার প্ল্যাটফর্মে উপলব্ধ থাকার উপর নির্ভর করে না ।
tenpn

8
গিট ফর্ম্যাটিং / কালারিংয়ে গণ্ডগোল হয় না। এটি গ্রহণযোগ্য উত্তর হওয়া উচিত x100
কুজন

10
অপটি যা চেয়েছিল তা নয়: তিনি first10 চেয়েছিলেন , না latest
টিমো

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

@ কোস্টিক্স "গিটে প্রথম দশটি প্রতিশ্রুতিটি শুরু থেকে শেষ পর্যন্ত কীভাবে দেখানো হবে" যতটা না আমি উদ্বিগ্ন, "ব্যাখ্যার জন্য উন্মুক্ত" নয়। এটি স্পষ্টতই প্রথম 10 কমিটের জন্য জিজ্ঞাসা করছে , সর্বশেষটি নয়
ববি জ্যাক

30

এখানে আমার পদ্ধতির,

প্রথম 10 টি কমিট পেতে:

git log -n 10

-n সংখ্যা

অতিরিক্ত পাওয়ার ক্ষেত্রে পরবর্তী 10 কমিট প্রথম লাফালাফি 10:

git log --skip=10 -n 10

আমি মনে করি এটি উত্তোলিত উত্তর হওয়া উচিত। লেজ ব্যবহারের ফলে
অনুগ্রহ করে

এটি অবশ্যই গ্রহণযোগ্য উত্তর হতে হবে। আমার জন্য
কবজির

আপনি লেজ ব্যবহার করে কনসোলে ফন্টের রঙটি হারাবেন। এটি সঠিক উত্তর
CESCO

14

শেষ 10 টি কমিট পেতে:

git log HEAD~10..HEAD

এগুলি প্রাচীনতম থেকে সর্বাধিক নতুন ক্রমে পেতে:

git log --reverse HEAD~10..HEAD

মনে রাখবেন যে যদি মার্জগুলি থাকে তবে এটি 10 ​​টিরও বেশি কমিট প্রদর্শন করতে পারে; যোগ করুন--first-parent আপনি শুধুমাত্র প্রতিটি শাখার প্রথম পিতা বা মাতা মাধ্যমে তর্ক করতে চাই।

আরও বিস্তারিত তথ্যের জন্য ডকুমেন্টেশন দেখুন git rev-list


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

git log --no-walk `git rev-list HEAD | tail -n 10`

এবং:

git log --no-walk `git rev-list --reverse HEAD | head -n 10`

আপনি কোন আদেশটি চান ফলাফলের উপর নির্ভর করে।


আপনার উত্তরের জন্য ধন্যবাদ। তবে আমার শেষের দশটি কমিটের দরকার নেই তবে প্রথম its সুনির্দিষ্ট বলতে গেলে, প্রতিশ্রুতিটি যদি ABCDEFG (HEAD) হয়। কীভাবে এবিসি লগ ইন করবেন এবং সি 2 সূচক দ্বারা লগ কিভাবে করবেন?
yohan zhou

উহু! একটি একক "প্রথম প্রতিশ্রুতিবদ্ধ" আছে এমন কোনও গ্যারান্টি নেই, তবে যদি থাকে তবে @ চারেলসবি বিযুক্ত লিঙ্কটি দেখুন।
টেরেক

উপায় কাজ হতে পারে। কোন প্রাকৃতিক উপায়? git log - व्याख्या = অনলাইন | ডাব্লুসি-এল গিট লগ হেড min <নম্বর বিয়োগ এক বা সূচক>
যোহান চিউ

উত্তর করার জন্য ধন্যবাদ. আমার গিট এলিয়াসে '-10' শৈলীর বিকল্পগুলি এড়াতে আমার এটি প্রয়োজন। যে সংখ্যা আর্গুমেন্ট গ্রহণ।
ভিসট্রোল্লা

11

সেরা ফলাফল উভয় সেরা উত্তরের সংমিশ্রণে আসে:

git log --pretty=oneline -10

4
ধন্যবাদ আমি আমার টার্মিনালটি পূরণ না করে সাম্প্রতিক কমিটগুলি দ্রুত প্রদর্শনের জন্য এটিকে একটি গিট ওরফে হিসাবে ব্যবহার করি। আমি ওরফে ডাকলাম lkj = log --pretty=oneline --abbrev-commit -10। এখন আমি বুঝতে পারলাম এটি ওপি-র প্রশ্নের উত্তর দেয় না তবে আমি এখানে সহজ নম্বর স্যুইচটি খুঁজতে এসেছি।
পল রাউজিউক্স



0

কারণ ... বিস্তারিত: পি

  1. প্রথম থেকে শেষ পর্যন্ত গিটে প্রথম 10 প্রতিশ্রুতিটি কীভাবে প্রদর্শিত হবে। (কোন শাখা নেই)
  2. কীভাবে কমিট ইনডেক্স নির্দিষ্ট করে এটি লগ করে। (দ্বিতীয় বা তৃতীয় দেখান)

(কোনও শাখা নেই) দ্বারা, আপনি reflogকোনও প্রদত্ত বংশের শৃঙ্খলার চেয়ে বরং জিজ্ঞাসা করছেন । আপনি যে শাখায় রয়েছেন তার সাথে নীচের কোনও সম্পর্ক নেই।

git log -g --pretty=oneline | tail -10

<sha> HEAD@{###}: action: summary (old)
<sha> HEAD@{###}: action: summary (older)
...
<sha> HEAD@{###}: action: summary (oldest)
  • -g হয় --walk-reflogs পরিবর্তে হাঁটা উত্পত্তি শৃঙ্খল কমিট এর reflog entries.q পদব্রজে ভ্রমণ
  • |cut -d ' ' -f 2|tr -d ':' > logলগ যোগ করুন কেবল রিফ্লগ কমিট সূচক।

নিম্নলিখিতটি বর্তমানে যাচাই করা শাখার প্রারম্ভিক পূর্বপুরুষদের দেখাবে।

git log --reverse --pretty=oneline | head -10 | cat -n

1 <sha> summary (oldest)
2 <sha> summary (second)
  • --reverse বিপরীত ক্রমে কমিটগুলি আউটপুট দেয়।
  • এটি বিরতি -n 10বা সহজভাবে ব্যবহার করতে পারবেন না-10--reverse
  • cat -n লাইন সংখ্যা যুক্ত করে (সূচী প্রতিশ্রুতি?)


0

যদি কেউ কেবল এক-লাইন লগের চেয়ে আরও বেশি কিছু চায়:

git log --reverse | awk 'NR>1 {print last} {last=$0}; /^commit/ && ++c==11{exit}'

যেখানে 11শেষে সেট করা উচিত1 আপনি চাইলে কমিটের চেয়ে বেশি ।

এখানে যেমন উল্লেখ করা হয়েছেgit log --reverse -n 10 তেমন আপনার প্রয়োজন মতো কাজ করে না। ( আমি মনে করি বিপরীত ক্রমে প্রথম দশটি কমিট বা শেষ দশটি কমিট chose বেছে নেওয়ার ক্ষমতা আপনাকে দেওয়ার জন্য এটি অ- ভ্রমণকারী হতে হবে)

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