در حال حاضر گیت یکی از محبوبترین سیستمهای کنترل نسخه در بین توسعهدهندگان است. میتوانید با استفاده از گیت تغییرات را دنبال کنید و پروژهها را با چندین توسعهدهنده دیگر هماهنگ نمایید. پروژههای متن باز نیست اکثرا از گیت استفاده میکنند، میتوانید آنها را روی گیتهاب، گیتلب و یا Bitbucket مشاهده کنید. اگر میخواهید از گیت در پروژههایتان استفاده کنید، باید دستورات مربوط به گیت که از طریق CLI اجرا میشوند را یاد بگیرید. گیت مستندات بسیار خوبی را تهیه ساخته و همچنین روند یادگیری منعطفی دارد.
در این مطلب قصد داریم به شما دستوراتی که در گیت بیشترین استفادهها را دارند نشان دهیم. دستوراتی مانند پیادهسازی اولیه، کامیت کردن تغییرات، بررسی وضعیت مخزن، ایجاد ارتباط با مخزن و... . اگر قصد دارید که گیت را به صورت کامل و جامع یاد بگیرید به شما پیشنهاد میدهم که دوره آموزش گیت و گیتهاب را مشاهده کنید.
چرا باید گیت را یاد بگیریم؟
یادگیری Git برای بسیاری از توسعهدهندگان و تیمهای نرمافزاری از اهمیت بالایی برخوردار است. Git یک سیستم کنترل نسخه (Version Control System) است که به شما امکان میدهد تغییرات کد نرمافزار را به صورت موثری مدیریت کنید. در اینجا دلایلی برای یادگیری Git ارائه میدهم:
-
مدیریت تغییرات: Git به شما اجازه میدهد تغییرات را به راحتی ردیابی کنید. شما میتوانید نسخههای قبلی کد را مرور کرده و در صورت لزوم به آنها بازگردید.
-
همکاری آسان: Git امکان همکاری آسان بین اعضای تیم را فراهم میکند، حتی وقتی به صورت همزمان روی یک پروژه کار میکنند.
-
کاهش خطرات: با استفاده از Git، خطر از دست دادن دادهها کمتر میشود. تغییرات در یک مخزن مرکزی ذخیره میشوند که میتواند به صورت محلی یا در ابر باشد.
-
بهبود فرآیند توسعه: Git به توسعهدهندگان اجازه میدهد تا به صورت مستقل روی شاخههای مختلف (branches) کار کنند و سپس تغییرات را با کد اصلی ادغام کنند.
-
پشتیبانی گسترده: Git از جامعه بزرگی از توسعهدهندگان پشتیبانی میکند و با اکثر IDEها و ابزارهای توسعه نرمافزار سازگار است.
-
قابلیت دسترسی و بازگشت به عقب: شما میتوانید هر زمان به نسخههای قبلی کد خود دسترسی پیدا کنید و در صورت نیاز تغییرات اشتباه را به راحتی بازگردانید.
-
استاندارد صنعتی: در بسیاری از پروژههای نرمافزاری، دانش Git به عنوان یک مهارت استاندارد در نظر گرفته میشود.
به طور خلاصه، Git به شما کمک میکند تا کار توسعه نرمافزار را به شیوهای سازمانیافته و کارآمد انجام دهید، خطرات را کاهش دهید و به راحتی با دیگران همکاری کنید.
ابزارهای گیت
بیشتر توسعهدهندگان از طریق خط فرمان با گیت کار میکنند، سریع بودن یکی از دلایل این کار است. با این حال این کار تنها زمانی مقدور است که شما دستورات خط فرمان مربوط به گیت را بدانید. گیت همچنین کلاینتهای گرافیکی نیز دارد که میتوان با آنها نیز کار کرد.
میتوانید ابزار خط فرمان گیت را برای سیستم عاملهای ویندوز، مک و لینوکس از طریق این لینک دانلود کنید.
مهمترین دستورات گیت
۱. پیکربندی گیت
بعد از نصب گیت، اولین کاری که باید انجام دهید پیکربندی گیت است. برای یک پیکربندی اولیه، دو دستور گیت وجود دارد که باید بدانید. اولین دستور مربوط به ثبت نام نویسنده و دومین ثبت ایمیل نویسنده است. از آن به بعد گیت تمام تغییرات را با استفاده از این مشخصات ثبت میکند.
git config --global user.name "Jane Doe"
git config --global user.email jane.doe@example.com
۲. پیادهسازی یک مخزن گیت
بعد از آنکه Git CLI را روی سیستمتان نصب کردید، به دایرکتوری که قصد پیادهسازی پروژه گیت در آن را دارید بروید. وقتی که در آن دایرکتوری قرار گرفتید، دستور زیر را اجرا نمایید:
git init
حال مخزن گیت شما پیادهسازی شد. از این به بعد گیت تمام تغییرات مربوط به این دایرکتوری را ثبت خواهد کرد. اگر به صورت درست تمام دایرکتوریهای موجود در مخزنتان را بررسی نمایید، مشاهده میکنید که یک پوشه .git قرار گرفته است که پیکربندیهای مربوط به گیت شما در آن قرار میگیرد.
۳. بررسی وضعیت مخزن
میتوانید وضعیت مخزن گیت را هر زمان که میخواهید با استفاده از دستور زیر بررسی کنید:
git status
سه وضعیت کلی در پروژههای گیت وجود دارد که شامل موارد زیر میشود:
- staged
- committed
- modified
در واژهشناسی مربوط به گیت، فایلها بعد از اینکه ذخیره و آماده کامیت کردن شدند، در مرحله staged قرار میگیرد. بعد از اینکه فایلها در یک دیتابیس محلی واقع در پوشه .git قرار گرفتند به وضعیت committed تغییر پیدا میکنند. و وقتی که تغییراتی در آنها قرار دادید اما آنها(تغییرات) را هنوز کامیت نکردهاید، به وضعیت modified در میآیند.
۴. فایلهای Stage
میتوانید فایلها را به دایرکتوری مربوط به پروژه یا همان مکان Stage با استفاده از دستور زیر وارد کنید:
git add index.html style.css images
این دستور فایلهای index.html و style.css و پوشه images را به وضعیت Stage در میآورد. اگر میخواهید تمام موارد قرار گرفته در پوشهای که در حال کار هستید را به حالت stage در بیاورید، کافی است دستور زیر را وارد کنید:
git add .
اگر یک دایرکتوری سنگین و پر از فایلهای مختلف دارید این دستور بسیار کاربری خواهد بود.
۵. فایلهای Unstage
میتوانید به سادگی فایلها را از قسمت stage نیز حذف کنید:
git rm --cached index.html style.css
اگر میخواهید پوشهها را نیز حذف کنید به یک پرچم -r نیازمندید:
git rm --cached -r images
بعد از اجرای این دستور گیت به شما پیامهای تاییدیه را میدهد، بنابراین شانس حذف اشتباهی فایلها و دایرکتوریها کمتر میشود.
برای اینکه تمام فایلها و دایرکتوریها را یکجا حذف کنید میتوانید به صورت زیر عمل کنید:
git rm --cached -r .
۶. کامیت فایلهای Stage شده
میتوانید از ناحیه stage مربوط به پروژهتان در هر زمان یک ذخیره مانند بگیرید. این حالت را کامیت کردن مینامند و فایلها را به بانک اطلاعاتی ارسال میکنند.
git commit -m "Initial commit"
همواره با ارسال فایلهای stage یک پیغام نیز نوشته میشود. در دستور بالا پیغام Initial commit نوشته شده است. برای اینکه بهتر بتوانید کامیتهایتان را قابل استفاده کنید و افراد مختلف کار آن را درک کنند از این پیغامها استفاده کنید.
۷. نمایش تغییرات Unstaged در جزئیات
برای اینکه بتوانید تمام تغییرات اتفاق افتاده در یک مخزن گیت را مشاهده کنید، میتوانید لیست آنها را از طریق دستور زیر بدست بیاورید:
git diff
این دستور نه تنها نام فایلها را برمیگرداند بلکه تغییرات مربوط به آنها را نیز در قالب متن به شما برگشت میدهد. دستور git diff موارد اضافی را با +++ و موارد حذف شده را با --- نمایش میدهد.
۸. نمایش تاریخچه کامل کامیتها
گیت همچنین به شما اجازه میدهد تا تاریخچه کامل کامیتهایتان را در پروسه توسعه مشاهده کنید. برای انجام این کار میتوانید دستور زیر را وارد کنید:
git log
لاگ خروجی شامل آیدی، نویسنده، تاریخ و پیغام مربوط به هر کامیت است.
۹. کلون کردن یک مخزن ریموت
دستوراتی که همراه با ابزارهای آنلاینی مانند گیتهاب و... استفاده میشوند از جمله کاربردیترین دستورات مربوط به گیت است. برای اینکه یک کپی محلی از یک مخزن گیت آنلاین داشته باشید میتوانید به صورت زیر این کار را انجام دهید:
git clone https://www.github.com/your-online-repo
قبل از اینکه این دستور را انجام دهید، به دایرکتوری که قرار است مخزن در آن قرار بگیرد، بروید.
۱۰. ایجاد ارتباط با مخزن ریموت
جدای از اینکه میتوانید یک مخزن را دریافت کنید، میتوانید به صورت برعکس نیز عمل نمایید. برای کپی کردن یک مخزن محلی در یک سرور آنلاین مانند گیتهاب، ابتدا نیاز است که یک ارتباط را با مخزن آنلاین داشته باشید، پس از آن مخزن محلی را به سرور push کنید:
git remote add origin https://www.github.com/your-online-repo
با استفاده از دستور بالا، میتوانید مخزن آنلاین را به پروژه محلیتان متصل کنید. در آینده دیگر نیازی ندارید که URL را به صورت کامل بنویسید، میتوانید از طریق نام origin ارتباط را برقرار کنید.
همچنین میتوانید با استفاده از دستور زیر برای آدرس جدید تاییدیه بگیرید:
git remote -v
۱۱. Push کردن تغییرات محلی به مخزن آنلاین
بعد از اینکه ارتباط بین مخازن آنلاین و محلی را ایجاد کردید، میتوانید تغییرات را با استفاده از دستور زیر push کنید:
git push origin master
کلمه کلیدی origin برای اشاره به مخزن آنلاین استفاده میشود، در حالیکه master برای مخزن محلی است.
۱۲. دریافت آخرین تغییرات در مخزن آنلاین
اگر با یک مخزن آنلاین ارتباط دارید و قصد دارید تغییرات آن را مشاهده کنید، نیازی نیست که یک کپی از آن بگیرید، بجای آن میتوانید با استفاده از دستور زیر به صورت بسیار ساده تغییرات را مشاهده کنید:
git fetch origin
دستور git fetch تنها تغییرات را دریافت کرده و آنها را به هیچ جایی منتقل نمیکند.
۱۳. انتقال تغییرات دریافت شده
وقتی که مطمئن شدید تغییرات هیچ مشکلی ندارند، بعد از آن میتوانید تغییرات را به مخزن محلی خود انتقال دهید. برای انجام این کار میتوانید از دستور زیر استفاده کنید:
git merge origin/master
همیشه برای انجام انتقال نیاز است که نام branch مورد نظرتان را معلوم کنید. در دستور بالا ما تغییرات را به branch مربوط به master انتقال دادهایم.
مرحله بعدی
کار با گیت ممکن است در روند یادگیری کمی سخت باشد، با این حال یادگیری آن برای توسعهدهندگان یک امر اجباری و واجب است. بدون داشتن یک سیستم کنترل نسخه، توسعه وب مدرن کار دشواری خواهد بود. همچنین میتوانید برای یادگیری بهتر دوره آموزشی رایگان راکت «آموزش گیت و گیت هاب» را دنبال کنید.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید