آنچه در این مقاله میخوانید
آموزش استفاده از Lazygit برای بهبود گردش کار Git
۲۱ اردیبهشت ۱۴۰۴
Lazygit یک ابزار متنباز میباشد که یک رابط کاربری ترمینالی (TUI) برای Git فراهم میکند. این ابزار اجرای وظایف رایج در Git را سریعتر و سادهتر میکند. بهجای تایپکردن مکرر دستوراتی مانند git status
، git commit
یا git pull
، با Lazygit میتوانید این عملیات را تنها با چند میانبر صفحهکلید انجام دهید.
Lazygit در واقع یک لایهی تعاملی روی Git CLI ایجاد میکند که باعث میشود کار با Git، از مدیریت برنچها (Branch) گرفته تا حل conflictها، راحتتر، سریعتر و کمتر مستعد خطا باشد.
در این مقاله از بلاگ لیارا قصد داریم با قابلیتهای مهم Lazygit آشنا شویم و قدمبهقدم نحوه کار با آن را یاد بگیریم. همراه ما باشید.
آنچه در این مقاله میخوانید:
- نحوه نصب Lazygit
- مقایسه Lazygit با سایر ابزارهای Git
- نحوه استفاده از Lazygit
- لیست کامل Shortcutsها در Lazygit
- نتیجهگیری
- سوالات متداول

نحوه نصب Lazygit
برای نصب این ابزار، بسته به سیستمعاملی که استفاده میکنید، میتوانید یکی از روشهای زیر را استفاده کنید:
نصب Lazygit در macOS با Homebrew
اگر از macOS استفاده میکنید، سادهترین راه برای نصب Lazygit استفاده از Homebrew است. برای نصب، دستور زیر را در ترمینال اجرا کنید:
brew install lazygit
اگر Homebrew را هنوز نصب نکردهاید، میتونید از brew.sh راهنمای نصب آن را مشاهده کنید.
نصب Lazygit در ویندوز با Scoop
اگر از Windows استفاده میکنید و ابزار Scoop را روی سیستم دارید، میتوانید Lazygit را خیلی سریع با دستور زیر نصب کنید:
scoop install lazygit
توجه: اگر برای اولینبار از Scoop استفاده میکنید و git
یا extras
bucket را اضافه نکردید، لازم است قبل آن، دستور زیر را اجرا کنید:
scoop bucket add extras
پس از نصب فقط کافی است در Command Prompt یا PowerShell دستور lazygit
را وارد کنید تا رابط کاربری lazygit
برایتان فعال شود.
توجه: اگر Scoop را هنوز نصب نکردید، میتوانید از scoop.sh مراحل نصب را دنبال کنید.
نصب Lazygit در Arch Linux با Pacman
اگر از Arch Linux یا یکی از توزیعهایش مانند Manjaro استفاده میکنید، نصب Lazygit بسیار ساده است، زیرا Lazygit در ریپازیتوریهای رسمی Arch وجود دارد. برای نصب دستور زیر را اجرا کنید:
sudo pacman -S lazygit
نصب Lazygit در Ubuntu و Debian
اگر سرور یا سیستم شما اوبونتو و دبیان یا یکی از توزیعهای مبتنی بر آن است. با یک دستور ساده Lazygit را نصب کنید:
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | \grep -Po '"tag_name": *"v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/download/v${LAZYGIT_VERSION}/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit -D -t /usr/local/bin/
کد بالا، آخرین نسخه Lazygit را از GitHub دریافت میکند، و در مسیر /usr/local/bin/
نصب میکند تا از هر جایی قابل اجرا باشد.
برای اینکه مطمئن شوید، نصب Lazygit درست انجام شده، دستور زیر را اجرا کنید:
lazygit --version
اگر ابزار به درستی نصب شده باشد، خروجی زیر نمایش داده میشود:
commit=, build date=, build source=nix, version=0.44.1, os=linux
با این روش همیشه به آخرین نسخه Lazygit دسترسی دارید، حتی قبل از اینکه وارد ریپازیتوریهای رسمی apt شوید.
نصب Lazygit در Fedora و RHEL
چنانچه روی Fedora یا RHEL کار میکنید، با استفاده از ریپازیتوری COPR ابزار Lazygit را نصب کنید.
دستورات زیر را برای نصب وارد کنید:
sudo dnf copr enable atim/lazygit -y
sudo dnf install lazygit
دستور اول ریپازیتوری Lazygit را از COPR فعال میکند و دستور دوم آنرا نصب میکند.
نصب Lazygit در NixOS
چند روش مختلف برای نصب Lazygit روی NixOS یا Nix package manager وجود دارد. بسته به سبک کارتان یکی از روشهای زیر را امتحان کنید:
با nix-shell
(برای استفاده موقت):
nix-shell -p lazygit
با اینکار، وارد shellی میشوید که Lazygit بهصورت موقت در دسترستان است.
با nix-env
(نصب برای یوزر فعلی):
nix-env -iA lazygit
این روش Lazygit را برای یوزر فعلی نصب میکند و بعد از آن همیشه در دسترس است.
اضافهکردن به configuration.nix
(برای نصب دائم):
environment.systemPackages = [
pkgs.lazygit
];
بعد از اضافه کردن این خط کد، فقط کافی است سیستم را با sudo nixos-rebuild switch
مجدد Build کنید تا Lazygit بهصورت دائم نصب شود.
اجرای مستقیم با Flakes:
nix run nixpkgs#lazygit
این روش بدون نصب دائمی، Lazygit را اجرا میکند و بیشتر برای تست یا استفاده لحظهای کاربرد دارد.
تا اینجا با روشهای مختلف نصب Lazygit روی سیستمعاملهای محبوب آشنا شدیم.
هاست Python در لیارا، هاستی پرسرعت، بدون نیاز به پیکربندی و انجام تنظیمات!
✅ سریع ✅ پایدار ✅ آسان
خرید هاست ابری Python
نحوه استفاده از Lazygit
برای استفاده از Lazygit نیازی نیست از قبل Git را کامل بلد باشید یا همه دستوراتش را از حفظ باشید. تنها موردی که نیاز است بدانید ،نحوه کار با کلیدهای میانبر (key mapping) در محیط Lazygit است.
اجرای Lazygit
برای اجرا، دستور زیر را تایپ کنید:
lazygit
خروجی نمونه:

وقتی lazygit را اجرا میکنید، یک رابط ترمینالی کاملا تعاملی را خواهد دید که از شش پنل اصلی تشکیل شده است. هر کدام از این پنلها نقش خاصی دارند، و با کمک این بخشها دیگر نیازی به دستورات Git ندارید. در ادامه بخشهای مختلف آنرا دقیقتر بررسی میکنیم.
پنل Status
در این قسمت فایلهایی که تغییر کردهاند، اضافه شدهاند یا آماده Stage و Commit هستند، لیست میشوند. میتوانید با کلید s
آنها را Stage کنید یا با u
به حالت قبلی برگردانید.

کاربرد
- مشاهده فایلهای Modified، Staged، Untracked
- Stage یا Unstage کردن سریع
پنل Files
زمانی که یک فایل انتخاب میکنید، این پنل تغییرات آن فایل را بهصورت خطبهخط به شما نشان میدهد.

کاربرد
- بررسی دقیق تغییرات فایلها
- بررسی قبل از Commit
پنل Local Branches
در این پنل میتوانید بین برنچها جابهجا شوید، برنچ جدید بسازید یا برنچ فعلی را حذف کنید. کار با برنچها بدون تایپ دستور git checkout
یا git branch
بسیار کاربردی است.

پنل Commit
اینجا لیست تمامی commitهایی که تا الان انجام دادهاید را میبینید. بین commitها میتوانید جابجا شوید و شاهد تغییرات آنها باشید.

پنل Stash
اگر بین کارتان تغییرات را موقتا کنار گذاشتید، میتوانید با فلگ z
یک stash بسازید و هر زمان که خواستید apply یا drop کنید.

پنل Command log
این پنل یکی از مفیدترین قسمتهای lazygit برای کسانی که میخواهند تاریخچهی تمام کارهایی که تابحال انجام دادهاند را ببینند.

لیست کامل Shortcutsها در Lazygit
یکی از دلایلی که lazygit بین برنامهنویسان طرفداران زیادی پیدا کرده است، وجود همین shourtcutها است. زیرا دیگر نیازی نیست هر بار دستورهای تکراری Git را در ترمینال تایپ کنند. بطور مثال در Git معمولی، برای اینکه یک فایل را کامیت کنید، باید این کار را مرحلهبه مرحله انجام دهید:
git add filename
git commit -m "message"
اما در Lazygit با کلیدهای ↑
یا ↓
روی فایل navigate کنید و با فشردن کلید space
، فایل موردنظر stage شود. تقریبا تمامی عملیاتهای رایج Git را با یک کلید میتوانید انجام دهید.
در ادامه لیستی از مهمترین shourtcutها و عملکرد آنها را خواهید دید.
کلید | عملکرد |
---|---|
a | Stage یا Unstage کردن همه فایلهای موجود در پنل فایلها |
space (در Files Panel) | Stage یا Unstage یک فایل خاص |
c | باز کردن ویرایشگر پیام برای commit فایلهای Stage شده |
p | Push کردن commitها به ریپازیتوری remote |
P | Pull کردن تغییرات از ریپازیتوری remote |
z | لغو (undo) آخرین commit انجامشده |
s | Stash کردن تغییرات فعلی (برای سوییچ برنچ یا عملیات دیگه) |
S | نمایش لیست stashها و امکان Apply/Drop کردن اونها |
n | ساخت یک برنچ جدید |
d | حذف برنچ فعلی (در حالت انتخابشده در پنل برنچها) |
M | ادغام (merge) برنچ انتخابی با برنچ جاری |
space (در Branches Panel) | سوییچ به برنچ انتخابشده (checkout) |
e | باز کردن فایل در ویرایشگر خارجی (مثلاً VS Code) |
y | کپیکردن داده (مثل SHA یا پیام commit) به کلیپبورد |
q | خروج از Lazygit و برگشت به ترمینال |
d (در فایلها) | Discard کردن تغییرات فایل (برگردوندن به آخرین commit) |
? | باز کردن منوی راهنمای شورتکاتها (keybindings) |
در این بخش shourtcutهای معرفی شده را با سناریوی واقعی توضیح خواهیم داد.
چطور یک فایل را در Lazygit کامیت کنیم؟
برای کامیت کردن یک فایل در Lazygit، ابتدا باید فایل مورد نظر را انتخاب و stage کنید. برای اینکار با کلیدهای جهتدار بین فایلها حرکت کرده و با فشردن کلید space
یا a
، آنرا انتخاب کنید.
نحوه Push و Pull کردن کدها
برای انجام عملیات Pull و Push در Lazygit، نیازی به وارد کردن دستی دستورات Git نیست؛ تمامی این عملیاتها از طریق کلیدهای میانبر قابل انجام هستند. پس از آنکه تغییرات خود را Commit کردید، جهت ارسال آنها به ریپازیتوری Remote، کافیست کلید p
را فشار دهید تا عملیات Push اجرا شود. همچنین برای دریافت آخرین تغییرات از ریپازیتوری Remote، میتوانید از کلید P
(حرف P بزرگ) استفاده کنید که معادل اجرای دستور Pull خواهد بود. Lazygit بهصورت خودکار ریموت پیشفرض (مانند origin/main) را تشخیص داده و در صورت پیکربندی صحیح، این عملیاتها را بدون نیاز به مداخله دستی انجام میدهد.
آموزش کامل نوشتن یک پیام کامیت مناسب در گیت را میتوانید در مقاله زیر مطالعه کنید. (راهنمای کامل)
نحوه نوشتن پیام کامیت در گیت
نحوه ایجاد و حذف یک Branch
برای ایجاد یک برنچ (شاخه) جدید در Lazygit، کافیست کلید n
را فشار دهید. با این کار، یک پنل جدید در محیط Lazygit باز میشود که در آن میتوانید نام برنچ مورد نظر خود را وارد کنید. پس از تایپ نام برنچ، با زدن کلید Enter، شاخه جدید ایجاد شده و بهطور خودکار به آن سوییچ خواهید شد.
برای حذف یک برنچ در Lazygit، کافیست ابتدا کلید d
را فشار دهید. پس از آن، Lazygit از شما میپرسد که قصد دارید برنچ را از ریپازیتوری محلی (local) حذف کنید یا از ریپازیتوری راهدور (remote). با انتخاب گزینه مورد نظر برای مثال حذف برنچ محلی و تأیید، برنچ انتخابشده حذف خواهد شد. این روش جایگزین سادهای برای دستوراتی مانند git branch -d
یا git push origin --delete
است و مدیریت شاخهها را در محیط ترمینال سریعتر و کاربرپسندتر میکند.
نحوه برگرداندن یک Commit
برای بازگرداندن (undo) آخرین commit در Lazygit، کافیست کلید z
را فشار دهید. با این کار، یک پنل جدید باز میشود که جزئیات commit اخیر را به شما نمایش میدهد از جمله پیام commit و فایلهای شاملشده. پس از بررسی اطلاعات، با فشردن Enter میتوانید آن commit را لغو کنید.
نحوه Merge کردن یک Branch
برای ادغام (Merge) یک برنچ در Lazygit، ابتدا کلید M
(حرف بزرگ M) را فشار دهید. با این کار، پنل مربوط به گزینههای Merge باز میشود. در این پنل میتوانید نوع Merge مورد نظر خود را انتخاب کرده و سپس با فشردن Enter عملیات را تأیید کنید.
در Lazygit، سه نوع Merge اصلی وجود دارد:
Squash Merge and Leave Uncommitted:
مانند Squash Merge عمل میکند، با این تفاوت که تغییرات را در حالت staged باقی میگذارد و commit نهایی را به شما واگذار میکند.
Merge : این گزینه یک Merge معمولی انجام میدهد و تاریخچهی کامل برنچ مبدأ را حفظ میکند. مشابه دستور git merge branch-name
.
Squash Merge : تمامی commitهای برنچ مبدأ را به یک commit واحد در برنچ هدف تبدیل میکند. برای زمانی مفید است که میخواهید تاریخچهی سادهتری داشته باشید.
هر آنچه باید در مورد GitHub بدانید را میتوانید در مقاله زیر مطالعه کنید.
گیتهاب چیست؟
چگونه merge conflictها را برطرف کنیم؟
برای رفع Conflict در Lazygit، ابتدا باید با فشردن کلید M
عملیات Merge را انجام دهید. در ادامه، نوع Merge موردنظر خود را انتخاب کرده و کلید Enter را بزنید.
در صورتی که حین Merge، تداخلی در فایلها (Merge Conflict) به وجود بیاید، فایلهای دچار Conflict در پنل فایلها (Files Panel) نمایش داده میشوند. برای مشاهدهی جزئیات Conflict، کلید Enter
را روی فایل مربوطه بزنید تا محتوا در پنل پیشنمایش (Preview Panel) نمایش داده شود.
در این پنل، میتوانید با کلیدهای جهت بالا و پایین بین بخشهای مختلف Conflict جابهجا شوید. پس از اینکه نسخه صحیح یا ترکیبی از کد را انتخاب کردید و فایل را ویرایش نمودید، کافیست با فشردن کلید space
فایل را Stage کنید. پس از Stage شدن تمامی فایلهای دارای Conflict، مشکل ادغام رفع شده و میتوانید commit نهایی را انجام دهید.
نحوه Discard کردن تغییرات
برای حذف (Discard) تغییرات یک فایل یا کنار گذاشتن یک Commit در Lazygit، کافیست کلید d
را فشار دهید. این میانبر، پنجرهای برای تأیید عملیات باز میکند و پس از تأیید، تغییرات انتخابشده حذف شده و فایل یا commit مربوطه به حالت قبلی بازگردانده میشود.
نحوه کپی کردن در Lazygit
برای کپی کردن نام فایل، مسیر فایل، هش commit، پیام commit، آدرس URL، نام نویسنده یا هر اطلاعات دیگری در Lazygit، ابتدا باید فایل یا commit مورد نظر را در پنل مربوطه انتخاب کنید. سپس با فشردن کلید y
، اطلاعات انتخابشده به کلیپبورد سیستم کپی خواهد شد و میتوانید از آن در جای دیگری استفاده کنید.
آموزش کامل نصب Git در سرور مجازی ابری اوبونتو را در مقاله زیر بخوانید.
نصب گیت در اوبونتو
مقایسه Lazygit با سایر ابزارهای Git
وقتی صحبت از کار با Git میشود، انتخاب ابزار مناسب کاملا به سبککاری، سرعت و حتی محیط کاری بستگی دارد. در این بخش با تفاوتهای Lazygit با دیگر ابزارهای Git آشنا میشویم.
Lazygit در مقابل GitKraken
GitKraken یه ابزار گرافیکی فوقالعاده قوی با UI زیبا و بصری است که بیشتر برای تیمها و پروژههای بزرگ با workflowهای پیچیده طراحی شده است. امکاناتی مثل integration با GitHub/GitLab، مدیریت conflict بصری، گراف تعاملی و ابزارهای merge حرفهای دارد.
ویژگی | Lazygit | GitKraken |
---|---|---|
رابط کاربری | ترمینالی و سریع (TUI) | گرافیکی کامل و drag & drop |
سرعت اجرا | بسیار سریع و سبک | نسبتاً سنگین، مخصوصاً در سیستمهای ضعیف |
منابع مصرفی | بسیار پایین (کمتر از 10MB رم) | بالا (ممکنه 300MB+ مصرف RAM داشته باشه) |
یادگیری | برای کاربران Git آشنا ساده است | راحت برای تازهکارها |
سفارشیسازی | بالا (با config و keybindingها) | محدودتر و نیازمند GUI |
کار در SSH / سرور | کاملاً مناسب | نیاز به محیط گرافیکی |
Lazygit در مقابل GitHub Desktop
GitHub Desktop یک گزینهی خوب برای تازهکارها است و UX خیلی سادهای دارد. ولی امکانات حرفهای زیادی مثل stash، interactive rebase، یا full branch management در اختیار نمیگذارد.
Lazygit در عوض:
- پشتیبانی کامل از stash، rebase، amend commit، interactive log
- اجرای بهتر در مخازن بزرگ یا پروژههای چندبرنچی
- بدون وابستگی به محیط گرافیکی، مناسب برای DevOps و سرورها
Lazygit در مقابل Git CLI
شاید بگویید کار ما با Git CLI راه میافتد، چرا اصلا سراغ Lazygit برویم؟
دلیلش سادهست:
- Lazygit کل UX Git را بدون تغییر در منطق CLI، فقط سریعتر و تعاملیتر میکند.
- با
lazygit
میتوانید در لحظه diff ببینید، برنچ عوض کنید، stash و reset بزنید، همه با چند کلید! - خطاهای ناشی از اشتباه تایپی یا فراموشی دستور کمتر میشوند.
در آخر بهتر است بگوییم، اگر کارتان مبتنی بر ترمینال است و رابط کاربری سریع میخواهید، Lazygit بهترین و مناسبترین انتخاب است.
همین الان، بدون کمترین پیچیدگی، سرور مجازی خودتون رو در کمتر از ۳۰ ثانیه، راهاندازی کنید.
✅ عملکرد پایدار ✅ ترافیک نامحدود ✅ هزینه بهصرفه
خرید سرور مجازی ابری
نتیجهگیری
Lazygit ابزاری بسیار مفید برای افزایش سرعت در کار با Git است. هنگام شروع، ممکن است استفاده از Lazygit برای کاربران مبتدی کمی چالشبرانگیز باشد، بهویژه بهخاطر ساختار کلیدهای میانبر (key mappings). اما پس از مدتی استفاده و آشنایی با آنها، متوجه خواهید شد که کار با این کلیدها بسیار آسان میباشد.
اگر برای اولینبار قصد استفاده از Lazygit را دارید، توصیه میکنیم آن را روی یک ریپازیتوری فعال و مهم امتحان نکنید. در عوض، یک Repository آزمایشی بسازید و در آن تمرین کنید تا بدون نگرانی از آسیب به پروژههای واقعی، با عملکرد ابزار آشنا شوید.
سوالات متداول
آیا Lazygit جایگزین کامل Git CLI است؟
خیر، Lazygit یک ابزار کمکی بر پایه Git CLI است که تجربه کار با Git را سریعتر و سادهتر میکند.
آیا Lazygit از تمام قابلیتهای Git پشتیبانی میکند؟
بله، Lazygit اکثر قابلیتهای روزمره Git مانند commit، branch، stash، merge و rebase را پوشش میدهد.
آیا از Lazygit میتوانم در پروژههای بزرگ استفاده کنم؟
بله، Lazygit بسیار سبک و سریع است.