What is Git? A Beginner's Guide to Git Version Control

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

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

 

 

 

Git چیست؟

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

به منظور بررسی اینکه آیا قبلاً Git را بر روی رایانه خود نصب کرده اید ، می توانید دستور git –version را در ترمینال تایپ کنید.

اگر قبلاً Git را نصب کرده اید ، خواهید دید که چه نسخه ای دارید. اگر Git را نصب نکرده اید ، می توانید از وب سایت Git دیدن کنید و دستورالعمل های بارگیری را به راحتی دنبال کنید تا نسخه صحیح سیستم عامل خود را نصب کنید.

 

GitHub چیست؟

GitHub محصولی است که به شما امکان می دهد پروژه های Git خود را در سرور راه دور در جایی (یا به عبارت دیگر ، در ابر) میزبانی کنید.

مهم است که به یاد داشته باشید که GitHub Git نیست. GitHub فقط یک سرویس میزبانی است. شرکت های دیگری هستند که خدمات میزبانی ارائه می دهند که همانند GitHub عمل می کنند ، مانند Bitbucket و GitLab.

 

 

 

 

 

نحوه شروع کار با Git

ترمینال در مقابل GUI
شما می توانید با تایپ دستورات در ترمینال از Git استفاده کنید یا می توانید از رابط کاربری گرافیکی (GUI) مانند Sourcetree یا GitKraken استفاده کنید.

اگر ترمینال را انتخاب می کنید ، باید دستورات Git مورد نیاز خود را جستجو کنید.

خوشبختانه شما مجبور نیستید که همه دستورات Git را یاد بگیرید. به غیر از تعداد انگشت شماری از دستوراتی که بیشتر از آنها استفاده می کنید ، بقیه را می توانید هر زمان که به آنها نیاز دارید جستجو کنید (این همان کاری است که اکثر توسعه دهندگان انجام می دهند ، حتی کسانی که چندین دهه تجربه دارند). Git اسناد عمیقی را در وب سایت خود ارائه می دهد.

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

این که آیا از ترمینال یا GUI استفاده می کنید ، برای استفاده مطمئن از Git ، باید اصول اولیه نحوه کار Git را بشناسید.

در بقیه این مقاله ، ما نمونه هایی را با استفاده از Git در ترمینال به اشتراک می گذاریم. اما اگر از GUI استفاده می کنید ، مراحل مشترک ما بسیار شبیه است.

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

اگر پروژه جدیدی است ، باید یک پوشه پروژه جدید ایجاد کنیم (نکته: می توانیم از دستور mkdir استفاده کنیم) و سپس در ترمینال به پوشه پروژه برویم.

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

در مثال ما ، یک پوشه پروژه جدید به نام novel ایجاد می کنیم.

 

 

نحوه ایجادrepository برای Git

هنگامی که ما در پوشه پروژه خود هستیم ، برای شروع استفاده از Git باید با استفاده از دستور git init یک rypository ایجاد (یا مقداردهی اولیه) کنیم.

هنگامی که فرمان را با تایپ کردن آن در ترمینال و زدن کلید enter اجرا می کنیم ، به نظر می رسد که اتفاق چندانی نیفتاده است. اما نه، Git اقدامات زیادی را در پشت صحنه انجام می دهد.

برای اینکه ببینیم Git در پشت صحنه چه کاری انجام داده است ، باید فایل های مخفی خود را مشاهده کنیم. سپس ، اگر در مک هستید ، می توانید Command + Shift + Dot را انتخاب کنید تا فایلهای پنهان را در سیستم فایل خود مشاهده کنید. اگر از سیستم عامل ویندوز استفاده می کنید ، می توانید تنظیمات نمای خود را به منظور مشاهده فایل های مخفی در سیستم فایل خود تغییر دهید.

برای مشاهده فایل های مخفی در ترمینال می توانیم از دستور ls -a استفاده کنیم.

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

 

 

ریپازیتوری Git چیست؟

ریپازیتوری پوشه git. ، داخل پوشه پروژه ما است. این برنامه تمام تغییرات ایجاد شده در پرونده های پروژه ما را ردیابی می کند و سابقه آن را در طول زمان ثبت می کند.

ریپازیتوری که در رایانه خود داریم local repository نامیده می شود.

قبلاً به خدمات میزبانی مانند GitHub ، GitLab و Bitbucket اشاره کردیم. وقتی local repository خود را برای یکی از این سرویس ها push میکنیم (به عبارت دیگر بارگذاری می کنیم) ، آنگاه ریپازیتوری که در این سرویس در ابر قرار دارد ، remote repository نامیده می شود.

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

 

نحوه همکاری با سایر توسعه دهندگان با استفاده از Git

اگر توسعه دهنده دیگری بخواهد در پروژه ما با ما همکاری کند ، می تواند ریپازیتوری راه دور را از سرویس میزبانی که آن را در رایانه خود بارگذاری کرده اید ، clone (یا به عبارت دیگر) بارگیری کند.

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

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

 

 

 

بررسی سه مفهموم Change, Stage, Commit

 

در ابتدا که با دستور git init  فولدر را زیر نظر git قرار دادیم. سپس فایل ایجاد یا ویرایش (Change شده) را با دستور git add myfile.xxx به مرحله Stage میبریم و درنهایت  میتوانیم فایل هایی که در مرحله Stage قرار دارند را با دستور ‘git commit -m ‘Write any explanation you want ثبت کنیم (commit کنیم)

و در هر مرحله میتوان با دستورات مختلف فایل ها رو به مرحله قبل برگرداند یا از تغییرات جاری مطلع شد (مثلا با دستور git reset filename.xxx میتوان آن را از stage خارج کرد یا مثلا با دستور git checkout –filename.xxx میتوان به commit آخر بازگشت)

 

نکته: در این محتوا مطالب خیلی ساده و تا حدودی مفهومی بیان شد، پیشنهاد میکنم دوره آموزش گیت با جادی رو که هم رایگان هست و هم به صورت کاربردی تدریس شده حتما دنبال بکنید .