مقدمه
در این جلسه قصد داریم شما را با دستورات پایهی گیت آشنا کنیم. برای همه کاربردهای گیت این دستورات مهم و ضروری هستند.
باز کردن خط فرمان git
برای استفاده از دستورات گیت باید ابتدا خط فرمان گیت را اجرا کنیم. برای اجرای ترمینال گیت از طریق زیر عمل کنید:
- در ویندوز در داخل پوشه راست کلیک کرده و گزینه git bash here را انتخاب کنید.(اگر هنوز گیت را نصب نکردهاید آموزش نصب گیت را مطالعه کنید.)
- در لینوکس و مک کافیست ترمینال سیستم را در پوشه اجرا کنید.
دستور git init
هنگامی شما پروژه خود را در پوشهای قرار دادهاید هنوز گیت بر روی محتوای آن پوشه کنترلی ندارد. برای اینکه بتوانیم git روی پوشه کنترل داشته باشد بایستی آن دایرکتوری(پوشه) را به یک مخزن(repository) تبدیل کنیم. برای این منظور کافیست دستور زیر را تایپ کنید:
git init
خروجی باید مشابه متن زیر باشد:
Initialized empty Git repository in <your repository address>/.git
با زدن این دستور خواهید دید که پوشه مخفیای به نام git ایجاد میشود که همه تغییرات و چیزهایی که git ذخیره میکند در آن انجام میشود.
دستور git status
وقتی ریپوزیتوری ایجاد شد از این به بعد git تمام تغییرات این پروژه را نظارت میکند. مثلا بلافاصله پس از ایجاد ریپوزیتوری خروجی به صورت زیر است که نشان میدهد هیچ تغییری در پروژه ایجاد نشده است.
git status
خروجی:
On branch master
No commits yet
nothing to commit
برای آزمایش یک فایل خالی به اسم index.html ایجاد میکنیم. با ایجاد فایل جدید خروجی دستور git status به صورت زیر است:
git status
خروجی:
On branch master
No commits yet
Untracked files:
(use "git add ..." to include in what will be committed)
index.html
nothing added to commit but untracked files present (use "git add" to track)t
معنی خط 5 این است که git بر روی فایل(ها) کنترلی ندارد. برای اضافه کردن فایل به git باید از دستور git add استفاده کنیم که در ادامه به آن میپردازیم.
در خط 7 میتوانیم فایل(های) تغییر کرده را ببینیم.
دستور git add
این دستور تغییرات ایجاد شده در پروژه را به گیت اضافه میکند. در واقع به git میگوید که این تغییرات برای من مهم هستند. با این عمل اصطلاحا فایلها stage میشوند. حالا فایل جدیدی که ایجاد کردهایم را stage میکنیم:
git add index.html
حال با زدن git status خروجی به صورت زیر است:
git status
خروجی:
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached ..." to unstage)
new file: index.html
خط 5 بدین معناست که فایلها آماده commit شدن هستند.
اگر تعداد فایلهایی که میخواهیم همزمان کامیت کنیم از یکی بیشتر بود از دستوری مشابه دستور زیر استفاده کنید:
git add index.html index2.html ...
یا اگر خواستید همه تغییرات را یکجا استیج کنید از دستور زیر استفاده کنید:
git add -A
دستور git commit
بعد از stage کردن تغییرات نوبت به ثبت آنها میرسد. از دستور git commit برای ثبت تغییرات استفاده میکنیم.
قبل از اینکه بار اول در یک سیستم کامیت بزنید باید دستورات زیر را یک بار(فقط بار اول) اجرا کنید.
##
git config --global user.name mahdi
git config --global user.email mahdi@msb-co.ir
قاعدتا باید به جای mahdi و mahdi@msb-co.ir نام و ایمیل خود را جایگزین کنید.
با زدن دستور commit، گیت یک ورژن از تغییرات را در خود ذخیره میکند.
git commit -m "add index.html"
بعد از m- یک یادداشت برای تغییرات ذخیره شده اضافه میکنیم.
خروجی:
[master (root-commit) 2e19504] add index.html
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 index.html
خروجی کامیت توضیحات مختصری در مورد تغییرات انجام شده دارد.
دستور git diff
این دستور تغییرات اعمال شده در فایلها را در کامیتهای مختلف نشان میدهد. ابتدا یک خط به index.html اضافه میکنیم.
git diff
خروجی:
diff --git a/index.html b/index.html
index e69de29..9562e8b 100644
--- a/index.html
+++ b/index.html
@@ -0,0 +1 @@
+first change
خطهایی که با منفی مشخص شدهاند نشانگر خطهای فایل در قبل از ویرایش هستند و خطهایی که با مثبت مشخص شدهاند نشانگر تغییرات جدید اعمال شده بر فایلها است.
دستور git log
این دستور گزارش همهی کامیتهای یک ریپوزیتوری را نمایش میدهد که شامل جزئیات زیر است:
- hash code مربوط به کامیتها(برای استفاده از دستورات دیگر گاهی اوقات مورد نیاز است.)
- مشخصات نویسنده
- تاریخ و ساعت تغییرات
- یادداشت مربوط به کامیتها
git log
خروجی:
commit f8143dee2f3930ea954b5322be47b1e3dbbc0963 (HEAD -> master)
Author: mahdi
Date: Tue Sep 13 11:01:20 2022 +0430
first change
commit 2e19504fccf5be74f77b47620ff5b4fd64cb5a03
Author: mahdi
Date: Tue Sep 13 10:38:44 2022 +0430
add index.html
در این جلسه با دستورات پایهی git آشنا شدیم. در جلسه بعدی دوره آموزش رایگان گیت کار با ریموتها را آموزش میدهیم.
لیست جلسات دیگر آموزش رایگان گیت
آموزش رایگان گیت – جلسه چهارم
جلسه چهارم
آموزش کار با شاخهها
در این جلسه قصد داریم که به شما مفهوم برنچها را آموزش دهیم و نحوه استفاده از آن و دستورات ضمیمه آن نظیر chekout و merge را آموزش دهیم.
آموزش رایگان گیت – جلسه سوم
جلسه سوم
آموزش کار با ریموت در گیت
در این جلسه قصد داریم نحوه مدیریت پروژه را با استفاده از نسخهای که روی سرور یا همان ریموت قرار دارد را آموزش دهیم.
آموزش رایگان گیت – جلسه دوم
جلسه دوم
دستورات پایهی گیت
در این جلسه قصد داریم شما را با دستورات پایهی گیت آشنا کنیم. برای همه کاربردهای گیت این دستورات مهم و ضروری هستند.