خلاصه: دیدنِ لیستِ کامیت‌ها با دستورِ git log با آپشن‌هایِ oneline-— و reverse-—


تا بدین‌جا چندین کامیت ساختیم اما این کامیت‌ها کجان؟ بذارین نشونتون بدم. خُب از دستورِ‌ log برای دیدن تاریخچمون یا history استفاده می‌کنیم.

git log
commit 921a2ffd7042ed0eb773676509fda87b5c05abf5 (HEAD -> master)
Author: Mosh Hamedani <programmingwithmosh©gmail.com>
Date: Tue Aug 4 16:56:10 2020 —0700

	Remove the bin directory that was accidentally committed.

commit d601b900c717da53806a7126b3fe587c7ae16d9e
Author: Mosh Hamedani <programmingwithmosh©gmail.com>
Date: Tue Aug 4 16:52:21 2020 -0700

	Include bin/ in gitignore.

در خروجی، تمامیِ کامیت‌هایی که تابحال ساختیم، از آخرین به اولین مرتب‌شده.

هر کامیت یک id مختص خودش رو داره. 40 کاراکتر به صورتِ رشته‌ی هگزادسیمال‌ـه که به صورتِ خودکار برای ما ساخته می‌شه. می‌تونین بهش به عنوانِ یک آیدیِ خاص برای مرور نگاه کنین.

بعدِ id عبارتِ (HEAD → master) رو داریم. در موردش در بخش‌هایِ بعدی صحبت خواهیم کرد. اما master در واقع branch اصلی یا خطِ اصلی کار در گیت هست. در بعضی سیستم‌هایِ کنترلِ‌ورژن دیگه trunk نامیده می‌شه.

در گیت می‌تونیم چندین branch داشته باشیم. یعنی می‌تونیم رویِ ویژگی‌هایِ مختلف و یا رفع باگ‌هایِ مختلف به صورتِ موازی و همزمان کار کنیم و بعدش کدمون رو ترکیب کنیم. بعداً در موردش صحبت خواهیم کرد.

حال header یک اشاره به branch فعلی هست. اینجوری گیت می‌فهمه که روی کدوم branch داریم کار می‌کنیم.

برای کامیت می‌تونین نام و ایمیلِ نویسنده‌ی کامیت، تاریخِ کامیت و زمانِ کامیتی رو که ساخته شده و همچنین یک خط توصیف ببینین.

اگر چندین کامیت داشتیم که در چندین صفحه هستن می‌تونیم space رو بزنیم تا بره سراغِ صفحه‌ی بعدی. و دوباره، برای خروج می‌تونیم q رو بزنیم.

دستورِ log چندین گزینه‌ی جالب داره که یکی از اون‌ها oneline-— هست که به ما یک توضیحِ‌ مختصر از کامیت‌ها بهمون می‌ده.

git log --oneline
921q2ff (HEAD -> master) Remove the bin directory that was accidentaly committed.
d601b90 Include bin/ in gitignore.

در خروجیِ بالا، آی‌دیِ مختصرِ هفت کاراکتری رو داریم و فقط توصیفِ تک‌خطی رو داریم. ولی مولف و تاریخ و زمان کامیت رو نداریم.

یک گزینه‌ی دیگه داریم که برای برعکس کردنِ چیدمان هست.

git log --oneline --reverse

با دستورِ بالا، اولین کامیت در بالاست و آخرین کامیت در پایین‌ترین.