آموزش مختصر و مفید git

در این مقاله تمام سعی ما بر این است که بتوانیم خلاصه و چکیده ای از مهمترین مطالب و دستوراتی که بایستی در رابطه با کار با نرم افزار گیت بدانید بیان کنیم و در عمل آموزش مختصر و مفید git را داشته باشیم.

آموزش مختصر و مفید گیت

آموزش مختصر و مفید git

همانطور که میدانید گیت را میتوان یک سیستم کنترل نسخه برای مدیریت کدنویسی و تغییرات احتمالی برنامه نویسان در یک تیم دانست.

به بیان دیگر مسئولیت هماهنگی و کنترل عملکرد تمام اعضای یک تیم برنامه نویسی را دارد تا بتوان از آن برای ردیابی تغییرات در مجموعه فایل ها استفاده کرد.

اهدافی را برای خود دنبال می کند که از مهمترین آنها می توان به سرعت بخشیدن به مدیریت یک پروژه و یکپارچگی داده های پروژه اشاره کرد.

گیت مانند سایر سیستم‌های کنترل نسخه از قبیل ساب‌ورژن، CVS و مرکوریال است.

Git توسط لینوس توروالدز در سال ۲۰۰۵ برای توسعه هسته لینوکس ایجاد شد.

منظور از کنترل نسخه ، سیستمی است که در طول زمان تغییرات هر کدام از فایل های پروژه را ذخیره و ثبت می کند تا بتوانیم بعداً ورژن های متفاوت پروژه را به خاطر بیاوریم.

تفاوت GIT با GITHUB و GITLAB

اما در اینجا ما با سه مفهوم گیت ، گیت هاب و گیت لب مواجه هستیم فهمیدن تفاوت بین آنها بایستی ابتدا کاربرد هر کدام را بدانیم.

گیت یک سیستم کنترل ورژن پروژه (vcs) می باشد. این سرویس به صورت متن باز می باشد و یک سرویس میزبان تحت وب محسوب می شود. توسط سیستم های کنترل ورژن پروژه شما می تونید به راحتی تمامی تغییراتی که روی پروژه اعمال میشه رو نگهداری کنید و همچنین سوابق تغییرات رو هم داشته باشید.
سایت اصلی : https://git-scm.com

با مراجعه به این صفحه به راحتی میتوانید آخرین ورژن این نرم افزار را مطابق با سیستم عامل خود رایگان دانلود کنید.

آموزش مختصر و مفید گیت
آموزش مختصر و مفید گیت

اما حالا گیت هاب چیست ؟ میشه گفت گیت هاب یک شبکه اجتماعی یا یک سرویس میزبانی وب برای برنامه نویسان می باشد.

شما میتونید توی گیت هاب ثبت نام کنید و یک Repository جدید برای خودتون ایجاد کنید و کدها و پروژه هایی رو که نوشتید درون اون قرار بدید تا سایر برنامه نویسان دنیا بتونن کدهای شما رو ببینن، اون رو اصلاح کنن، از کدهای شما استفاده کنن و کدهای شما رو توسعه بدن و یا بهینه کنن.
مراجعه به سایت : https://github.com

آموزش مختصر و مفید گیت
آموزش مختصر و مفید گیت


گیت هاب دارای دو سرویس عمومی و خصوصی می باشد. سرویس عمومی GitHub به صورت رایگان و سرویس خصوصی با پرداخت هزینه می باشد.

گیت لب هم دقیقا کاری مشابه با گیت هاب انجام میدهد. یعنی در واقع یک سرویس میزبانی وب و یا یک شبکه اجتماعی از برنامه نویسان هست که میتوانید کدها و پروژه های خودتون رو در آن با سایر برنامه نویسان دنیا به اشتراک بگذارید.

گیت لب توسط زبان برنامه نویسی Go و Ruby طراحی و پیاده سازی شده و شرکتهای برندی مثل IBM، Sony، علی بابا و ناسا از آن استفاده میکنند. برنامه نویسان ایرانی معمولا به دلیل تحریم ها در استفاده از سرویس گیت لب دچار مشکل هستند.

گیت لب امکانات حرفه ای تری برای سطح دسترسی به سورس ها و تغییرات سورس ارائه می دهد. یعنی شما میتوانید سطح دسترسی کاملی برای هر فرد تعریف کنید یا آن را تغییر دهید. اما در گیت هاب فقط میتوانید تعیین کنید که یک نفر می تواند به ریپازیتوری شما دسترسی داشته باشد یا خیر.
بصورت کلی گیت لب حرفه ای تر و پرکاربرتر از گیت هاب میباشد، هرچند که گیت هاب قدیمی تر است.

مراجعه به سایت : https://gitlab.com

آموزش مختصر و مفید گیت
آموزش مختصر و مفید گیت

شروع کار با گیت

ابتدا از طریق لینک زیر وارد سایت گیت شده و آخرین ورژن مطابق با سیستم عامل خود را دانلود و آن را نصب کنید.
https://git-scm.com/downloads

مطابق معمول همیشه یک فولدر ساخته و بعد از باز کردن CMD به مکان فولدر رفته و در داخل command prompt دستور زیر را بزنید:

git init

شروع کار با گیت

در این صورت درپوشه شما بایستی یک فولدر با نام .get که به صورت hidden می باشد به وجود می آید. این دایرکتوری همان مسیری است که گیت دیتابیس و تنظیمات خود را در آن ذخیره می‌کند تا تغییرات پروژه‌ی شما را دنبال کند.

clone repository یا کپی کردن یک مخزن

اما یک راه دیگری وجود دارد که به گیت کلونینگ معروف است. در این روش شما قصد ندارید یک repository  یا مخزن را از ابتدا بسازید و قصد دارید یکی از مخزن های موجود در سایت گیت هاب را دانلود کرده و از آنجا به بعد در پروژه سهیم شوید.

فقط کافیست دستور زیر را وارد نمایید:

git clone your url

مثال :

git clone https://github.com/shirinsoft/parnian-framework

افزودن یا ویرایش فایل ها

در این مرحله دو فایل در دایرکتوری خود می سازیم مطابق تصویر زیر و بعد چند خط کد در آنها وارد میکنیم.

مهم نیست به چه زبانی کار میکنید فایل PHP بسازید و کد php در آن بزنید ، یا اینکه به زبان GO کار کنید…

مهم نیست ما در اینجا به طور مثال با html کارمان را انجام می‌دهیم.

افزودن یا ویرایش فایل ها

در CMD دستور زیر را وارد کنید:

git status

این دستور وضعیت حاضر مخزن کار شما را نشان می‌دهد. نتیجه‌ی به نمایش درآمده باید مشابه تصویر زیر باشد که در آن هر دو فایل ما به‌عنوان یک فایل untracked یا بررسی‌نشده فهرست شده است.

افزودن یا ویرایش فایل ها

معمولاً در این پروژه ها یک فایل با نام README.md ساخته می شود و در آن اطلاعات پروژه ، نام پروژه، نام و نشانی ایمیل قرار داده می شود.

اگر این کار را بکنید و مجدداً git status را کامند بزنید ، مشاهده می کنید که فایل README نیز به untracked اضافه میشود.

README

دستور استیج در گیت STAGE

فرض کنید ما در فایل index.html مقداری کد نوشتیم و آن را می خواهیم ذخیره کنیم .

اصطلاحاً برای ثبت تغییرات آن فایل را استیج می کنیم. فایلی که استیج می‌شود؛ یعنی تغییرات آن انجام گرفته اما هنوز در مخزن اصلی اعمال نشده است.

دستور زیر را برای فایلی که می خواهید در حالت STAGING ببرید وارد کنید:

git add your file

مثال :

git add index.html

و مجدد git status را وارد نمایید. نتیجه مشابه تصویر زیر است:

دستور استیج در گیت STAGE

همانطور که تصویر میبینید فایل ایندکس در برنچ (BRANCH) یا شاخه اصلی قرار گرفته و دو فایل دیگر ما همچنان Untracked باقی مانده اند.

حال مشابه تصویر زیر، فایل index.html را باز کرده و آن را ویرایش کنید:

دستور استیج در گیت STAGE

و حال مجدد دستور git status را بزنید. نتیجه مشابه تصویر زیر خواهد بود:

git status

همانطور که در تصویر مشاهده می فرمایید، فایل ایندکس همچنان در شاخه اصلی یا همان برنچ مستر قرار دارد و دیگرuntracked نیست. اما به خاطر اینکه تغییراتی در آن اعمال شده است با لیبل modified نشانه گذاری شده است.

پس میتوانید مجدد git add index.html را بزنید و نتیجه را در git status ببینید.

تنظیمات قبل از COMMIT

در این مرحله همه‌چیز آماده‌ی اعمال تغییرات یا commit است؛ اما قبل از این‌کار باید با تنظیمات ویرایشگر که گیت هنگام نوشتن پیام‌های کامیت مورد استفاده قرار می‌دهد آشنا شوید.

VIM میتواند به عنوان یک ادیتور مناسب انتخاب شود، پس برای نصب آن دستور زیر را بزنید:

git config --global core.editor vim

ایجاد اولین تغییر

این روند در تمام سیستم های کنترل نسخه یکسان است.

دستوgit commit را بیزنید، توضیح و دلیلی برای آن چه تغییری ایجاد کرده اید وارد می کنید و سپس آن را ثبت می کنیم مطابق شکل زیر:

git commit

 تیتر توضیح کوتاه و در حد ۷۲ کاراکتر باشد و به‌طور خلاصه تغییر اعمال‌شده را اعلام کند. دیگر این‌که دارای توضیحی بلندتر باشد که به‌طور مجزا در سطری دیگر جزئیات تغییر اعمال‌شده را توضیح دهد. البته مورد دوم اختیاری است و الزامی برای نوشتن آن وجود ندارد.

بنابراین، پیام فوق را در ویرایشگر وارد و ذخیره کنید و خارج شوید.

برای ذخیره در ویرایشگر VIM از دستور زیر استفاده کنید:

  1. Esc بزنید
  2. بزنید :w
  3. بزنید Enter
ایجاد اولین تغییر

دستور git diff

این دستور مشابه دستور Linux diff دو فایل را با هم مقایسه می‌کند و تغییرات فایل جدیدتر را نمایش می‌دهد.

بطور مثال دستور git diff index.html را میزنیم تا تغییرات جدیدترین نسخه نسبت به اولین نسخه به نمایش درمی‌آید. اما این دستور تغییرات را نسبت به فایل اولیه نشان می‌دهد، نه فایل استیج‌شده!

پس اگر میخواهید تغییرات استیج شده را مشاهده بفرمایید، دستور زیر را بزنید:

git diff --cached index.html
دستور git diff

در تصویر بالا، هرجا علامت منفی دیدید، یعنی چیزی کم و هرجا علامت مثبت دیدید، یعنی چیزی اضافه شده است.

برنچ یا شاخه در گیت – BRANCH

امیدواریم تا به اینجای مقاله آموزش مختصر و مفید git ، مورد پسند واقع شده باشد. حال وقت آن است که برویم سراغ یکی از ویژگی های منحصر به فرد گیت که شاخه بندی پروژه است.

فرض کنید برای یک پروژه چند نفر برنامه نویس کار میکنند. اگر قرار باشد صحیح و خطای خود را بر روی فایل اصلی پروژه انجام دهند می‌تواند اختلالاتی در کار سایر اعضای ایجاد کند و یا کلاً صدماتی به کل پروژه بزند.

برنچینگ یا شاخه بندی از ویژگی های پیشرفت گیت است ست و به شما اجازه می دهد اعضای تیم خود شاخه های فرعی داده تا بتوانند آزمون و خطا خود را بر روی آن انجام داده و سپس بعد از مطمئن شدن و ایجاد اطمینان تغییرات خود را با کد اصلی MERGE کنند.

تا به اینجای آموزش، تمام فعالیت ما روی شاخه اصلی یا master branch بوده است.

قبل از ساختن برنچ جدید، بایستی یک commit داشته باشید. پس تغییری در فایل index انجام داده، سپس git add index.html را زده و سپس کامند زیر را بزنید:

git commit -m "Added a new file"
git commit -m "Added a new file"

خوب… حالا دستور زیر را بزنید تا ببینیم چند BRANCH در مجموعه داریم.

git branch

همانطور که در تصویر میبینید، فعلا فقط یک branch مستر داریم.

مستر برنچ

اما میتوانیم با کد زیر یک برنچ فرعی بسازیم:

git branch <name>

مثال:

git branch arsam

و در مرحله بعد :

git branch

لیست برنچ های موجود را خواهید دید، مطابق تصویر زیر:

git branch

آن ستاره پشت هر اسمی باشد، یعنی در آن شاخه هستیم. برای تغییر شاخه از دستور زیر استفاده کنید:

git checkout <filename>

مثال:

git checkout arsam

که نتیجه زیر را خواهد داشت:

git checkout

یک فایل به نام styles.css درست میکنیم و مقداری را در داخل آن مینویسیم و سپس آن را طبق کدهای زیر کامیت میکنیم:

git add styles.css
git commit -m "stylesheet added"

‌می‌بینیم که در پیامی که پس از کامیت کردن در معرض دیدمان قرار گرفته است،‌ آمده که کامیت مذکور در شاخهٔ‌ arsam افزوده شده است مطابق تصویر زیر:

commit

حال مجدد به بِرَنچ master سوئیچ کنید با کد زیر :

git checkout master

اکنون اگر به محتویات داخل پوشه نگاهی بیندازیم،‌ خواهیم دید که فایل styles.css حذف شده است و این مسئله از آنجا ناشی می‌گردد که ما این فایل را در بِرَنچ arsam افزوده‌ایم و بِرَنچ master هیچ اطلاعی از این موضوع ندارد.

حذف یک BRANCH در GIT

برای این که شما یک شاخه را در گیت حذف نمایید، بایستی از کد زیر استفاده کنید:

git branch -d <branchName>

اما در ادامه خطایی از ما میگیرد که این شاخه با شاخه اصلی ادغام نشده است(اگر هیچ کامیتی در آن نکرده باشید، خطا نمیگیرد) که برای ادامه، باید کد زیر را بزنید:

git branch -D <branchName>

مثال:

git branch -D aaa
حذف یک BRANCH در GIT

دستور دیگر ساخت BRANCH که همزمان ما را به آن شاخه سوییچ هم میکند :

git checkout -b new-branch

ادغام تغییرات با شاخه اصلی یا master

همانطور که میدانید ، سایر دولوپرها در شاخه های فرعی مشغول به کار هستند، بعد از پایان صحیح و خطا و اطمینان از درستی کارشان، باید در نهایت کد آنان به فایل اصلی که در مسیر master موجود میباشد ادغام یا در اصطلاح MERGE شود. برای اینکار به شاخه اصلی رفته (سوییچ کنید git checkout master ) و کد زیر را بزنید:

git merge <branchName>

مثال:

git merge arsam

همانطور که در تصویر زیر میبینید، شاخه فرعی ARSAM با شاخه اصلی MASTER ادغام شد و اطلاعات و فایل های آن به پروژه اصلی اضافه گردید.

ادغام تغییرات با شاخه اصلی یا master

آموزش انتقال پروژه از گیت به گیت‌هاب

حال وقت آن رسیده که پروژه مان را به مخزن گیت هاب منتقل کنیم. بدون توضیح اضافی ابتدا تمام فایل های را با دستور زیر کامیت کنید:

git add .
git commit -m "your comment"

نقطه در کد بالا به معنای تمامی فایل ها میباشد.

آموزش انتقال پروژه از گیت به گیت‌هاب

و بعد دستور گیت استتوس را بزنید و وضعیت حال را مشاهده کنید:

git status
commit

دیگر چیزی برای کامیت وجود ندارد و شرایط برای ارسال پروژه به مخزن گیت هاب آماده است.

در این مرحله وارد سایت github.com شده و ثبت نام کنید و سپس به اکانت خود لاگین کنید.

طبق تصویر زیر، روی آیکون پلاس کلیک کرده و سپس گزینه new repository را انتخاب نمایید.

new repository

مانند تصویر زیر، تمام قسمت هایی که مشخص شده است را پر کنید:

آموزش انتقال پروژه از گیت به گیت‌هاب

اگر مراحل را درست رفته باشید، باید با تصویر زیر مواجه شوید:

آموزش انتقال پروژه از گیت به گیت‌هاب

در تصویر بالا تمام مراحلی که باید در قبل از ارسال پروژه به مخزن طی میکردیم، در قسمت یکم و ادامه کار در قسمت دوم آورده شده است.

اما قبل از ادامه توضیحات و آموزش دستور push در نظر داشته باشید به سادگی میتوانید در همین مرحله و بدون کامند، فایل های خود را به repository خود منتقل کنید.

فقط کافیست بروی گزینه  uploading an existing file کلیک نمایید و طبق دو تصویر زیر، فایل های را آپلود نمایید.

uploading an existing file

در تصویر زیر ما فایل های یک پروژه فرضی را بدون اینکه فشرده و به حالت .zip درآوریم، با درگ و دراپ به این صفحه منتقل میکنیم و منتظر میمانیم تا آپلود شود. مطابق تصویر زیر:

در ادامه میتوانید یک کامیت هم از طریق فرم زیر ارسال کنید و در انتها روی گزینه commit change کلیک کنید.

آموزش انتقال پروژه از گیت به گیت‌هاب

کار تمام است و همانطور که در تصویر زیر مشاهده میکنید، صفحه ساخته شده و قابل دانلود و clone کردن است.

گیت هاب
این کار را نیز میتوانید با کلیک روی گزینه ADD FILE و گزینه UPLOAD انجام دهید. مطابق تصویر زیر:
گیت

اما از روش کد بصورت زیر عمل کنید.

پس برای ارسال فایل ها کدهای زیر را به ترتیب بزنید:

git remote add origin git@github.com:parsaGhorbanian/myfrst.git
git branch -M main
git push -u origin main
git push

مشابه تصویر بالا، اگر مراحل را به درستی طی کرده باشید، باید یوزرنیم و پسورد هنگام ثبت نام در گیت هاب را وارد کنید.

توجه داشته باشید در هنگام نوشتن پسورد، شما مینویسید ولی برای امنیت، تایپ شما نشان داده نمیشود. پس با خیال راحت ادامه دهید!

2 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.