ساخت مخزن گیت هاب — از صفر تا صد
اگر یک برنامهنویس هستید و میخواهید شروع به استفاده از گیت روی گیتهاب بکنید، بهترین مقاله را برای مطالعه انتخاب کردهاید. شما پس از مطالعه این مقاله و آشنایی با روش ساخت مخزن گیت هاب و همچنین شیوه استفاده از آن قادر خواهید بود یک پروژه گیتهاب را ایجاد کرده و روی آن کار کنید.
گیت چیست؟
گیت یک نرمافزار اوپن سورس است که در سال 2005 از سوی لینوس تروالدز ایجاد شده است.
این ابزار یک «سیستم کنترل نسخه» (Version Control System) است که در ابتدا برای هماهنگ کار چند توسعهدهنده روی کرنل لینوکس ساخته شده بود. سیستمهای کنترل نسخه زیادی مانند CVS ،SVN ،Mercurial و غیره وجود دارند، اما گیت امروزه به یک نرمافزار استاندارد برای کنترل نسخه تبدیل شده است.
کنترل نسخه یعنی چه؟
اگر به تازگی وارد دنیای برنامهنویسی شدهاید، این واژهها معنای خاصی برای شما نخواهند داشت. با این حال، جای نگرانی نیست، چون با مطالعه این پاراگرف کوتاه خواهید دانست که سیستم کنترل نسخه یا به اختصار VCS دقیقاً به چه معنا است؟
کنترل نسخه یک سیستم مدیریتی است و تغییرهایی که روی فایلها یا مجموعهای از فایلها (برای نمونه یک پروژه کدنویسی) ایجاد میشوند را ردگیری میکند. توسعهدهندگان با کمک چنین سیستمی، میتوانند با یکدیگر همکاری کنند و به صورت مشترک یک پروژه را جلو ببرند.
یک سیستم انشعاب از سوی کنترل نسخه اجرا میشود که به توسعهدهندگان کمک میکند تا به صورت انفرادی روی یک وظیفه کار کنند. برای نمونه یک شاخه برای یک وظیفه یا یک شاخه برای یک توسعهدهنده. در ادامه همه تغییرهای ایجاد شده از سوی تیم در شاخه اصلی ترکیب میشوند.
همه تغییرهای ایجاد شده از سوی توسعهدهندگان ردگیری و در «سابقه» (history) ذخیره میشوند. ردگیری این تغییرهای ایجاد شده از سوی هر یک از اعضای تیم میتواند سودمند باشد.
ریپازیتوریها یا مخازن گیت را کجا میتوان یافت؟
اگر میخواهید شروع به استفاده از گیت بکنید، باید بدانید که کجا میتوانید ریپازیتوریهای خود را میزبانی کنید. پلتفرمهای میزبانی زیادی وجود دارند که میتوانید کد خود را به طور رایگان روی آنها میزبانی کنید. برخی گزینهها رایگان نیستند، اما شما به جز در موارد خاص، به اغلب آنها نیازی نخواهید داشت.
در ادامه سه مورد از محبوبترین سرویسهای میزبانی گیت را ملاحظه میکنید:
- گیتهاب ( + GitHub): در سال 2008 راهاندازی شده و اخیراً از سوی مایکروسافت خریداری شده است. در پاییز 1397 حدود 31 میلیون کاربر داشته است.
- گیتلب ( + GitLab): در سال 2011 راهاندازی شده و تحت مالکیت شرکت GitLab است.
- بیتباکت ( + BitBucket): در ژوئن 2008 راهاندازی شده است و تحت مالکیت شرکت نرمافزاری Atlassian قرار دارد.
نکته: پلتفرمهای میزبانی به دو روش در دسترس هستند که یکی روش کلود (میزبانی آنلاین) و دیگری میزبانی مستقل روی سرور شخصی (میزبانی خصوصی) است.
به عنوان توسعهدهنده چرا باید از گیت استفاده کنیم؟
گیت ابزاری غیر قابل چشمپوشی برای توسعهدهندگان محسوب میشود. در ادامه فهرستی از مزیتهای این ابزار را مشاهده میکنید:
- دیگر نیازی به کپی کردن وجود ندارد، زمانی که کار خود را روی یک بهروزرسانی برای اپلیکیشن یا اصلاح باگ تمام میکنید، کافی است پروژه خود را به صورت آنلاین push کنید تا ذخیره شود.
- امکان حذف و بازگشت به مراحل قبلی کدنویسی وجود دارد. به این منظور کافی است یک دستور را وارد کنید تا به نسخه قبلی پروژه بروید و کار خود را از آنجا دنبال کنید.
- امکان کار با دوستان به سهولت میسر شده است و هر بار که تغییری ایجاد میکنید، نیازی به ارسال فایلهای فشرده پروژه از طریق ایمیل وجود ندارد.
- میتوانید آن چه را انجام دادهاید به سادگی ببینید. با استفاده از یک دستور ساده میتوانید تغییرهایی را که از آخرین بار روی پروژه ذخیره شده اجرا کردهاید مشاهده کند.
بدین ترتیب با مزیتهای عمده گیت آشنا شدید. این ابزار میتواند جایگاه بسیار برجستهای بیابد. به عنوان نمونه میتوانید سرویسها را طوری پیکربندی کنید تا با گیت کار کنند و به صورت خودکار کد خود را توزیع و تست کنید.
تمرین عملی کار با گیت و گیتهاب
اکنون که میدانید گیت و گیتهاب چه هستند، زمان آن رسیده است که با تمرینهای منسجمی کار با آنها را بیاموزید. پس از اجرای این تمرینها قادر خواهید بود پروژههای خود را از طریق گیتهاب ساخته و مدیریت کنید و از قابلیتهای مقدماتی آن بهره بگیرید.
نکته: ما به این دلیل گیتهاب را به عنوان سرویس میزبانی خود انتخاب کردهایم که بیشترین استفاده را در دنیا دارد. البته جای نگرانی نیست چون سرویسهای دیگر نیز رویه مشابهی دارند.
به خاطر داشته باشید که باید همه دستورهای مقدماتی Shell را بدانید، چون در غیر این صورت بخشهایی از این مقاله برای شما سردرگمکننده خواهند بود.
گام اول: شروع
نخستین تمرین زیاد پیچیده نیست و به دو بخش تقسیم میشود. نصب گیت و ایجاد حساب گیتهاب
ایجاد حساب گیتهاب
برای ایجاد حساب گیتهاب باید به صفحه اصلی وبسایت گیتهاب (+) بروید و فرم ثبت نام را پر کنید.
این تنها کار لازم است و شما اینک رسماً یکی از اعضای گیتهاب هستید.
نصب گیت
اکنون باید ابزارهای گیت را روی رایانه خود نصب کنیم. نرمافزارهای گیت مختلفی وجود دارند؛ اما بهتر است کار خود را ابزارهای مقدماتی شروع کنیم. ما از خط فرمان برای ارتباط با گیتهاب استفاده میکنیم. زمانی که با خط فرمان احساس راحتی بیشتری کردید، میتوانید نرمافزار گیت را به همراه یک اینترفیس کاربری دانلود کنید.
اوبونتو
ابتدا پکیجهای خود را بهروزرسانی کنید:
$ sudo apt update
سپس گیت را با دستور apt-get نصب کنید:
$ sudo apt-get install git
در نهایت بررسی کنید که گیت به درستی نصب شده است یا نه:
$ git --version
MacOSX
ابتدا آخرین نسخه گیت را برای مک (+) دانلود کنید. سپس دستورالعملهایی را که روی صفحه نمایش مییابد پیگیری کنید. در نهایت یک ترمینال باز کنید و تأیید کنید که گیت به طرز صحیحی نصب شده است:
$ git --version
ویندوز
ابتدا نسخه نصبی گیت را از این لینک (+) برای ویندوز دانلود کنید. سپس با پیگیری دستورالعملهای نمایش یافته روی صفحه آن را نصب کنید. در نهایت یک ترمینال برای مثال پاورشل یا git bash را باز کرده و بررسی کنید که گیت به درستی نصب شده باشد:
$ git --version
برای همه کاربران
آخرین گامی که برای نصب صحیح لازم است این است که ترمینال را با دستورهای زیر اجرا و اطلاعات خود را وارد کنید تا یک نام کاربری و ایمیل پیشفرض در زمان ذخیرهسازی کارهای خود داشته باشید:
$ git config --global user.name "Gaël Thomas" $ git config --global user.email example@mail.com
گام دوم: نخستین پروژه گیتهاب
اکنون که آماده هستید، میتوانید به صفحه اصلی گیتهاب بازگردید و روی آیکون بعلاوه (+) در نوار منو کلیک کنید. زمانی که روی این دکمه کلیک کنید، یک منوی جدید با مدخل «New repository» ظاهر میشود. روی آن کلیک کنید.
در این مرحله صفحه ایجاد ریپازیتوری ظاهر خواهد شد. یک نام مناسب برای نخستین ریپازیتوری خود انتخاب کنید و پیش از کلیک کردن روی دکمه Create repository یک توضیح کوتاه برای آن وارد کنید.
نکته: بر اساس این چارچوب این راهنما فعلاً نیازی به ساخت فایل Read Me نداریم و آن را در ادامه ایجاد خواهیم کرد. بنابراین در حال حاضر میتوانید گزینه Initialize this repository with a README را انتخاب نشده باقی بگذارید.
بدین ترتیب ما موفق شدیم نخستین ریپازیتوری گیتهاب خود را ایجاد کنیم. اگر میخواهید همه ریپازیتوریهای خود را ببینید، باید روی تصویر پروفایل در نوار منو کلیک کنید و سپس گزینه Your repositories را انتخاب کنید.
گام سوم: جلد یا کاور مناسب
اینک زمان آن رسیده است که نخستین تغییرهای خود را در ریپازیتوری ایجاد کنیم. شاید بهترین تغییر در این مرحله، ایجاد یک کاور مناسب برای آن است که شامل نوعی متن خوشامدگویی باشد.
یک نسخه محلی از پروژه
نخستین مأموریت ما این است که یک کپی از ریپازیتوری ایجاد شده روی رایانه خود داشته باشیم. به این منظور باید ریپازیتوری را کلون کنیم. در صفحه ریپازیتوری آدرس HTTPS را دریافت کنید.
زمانی که آدرس ریپازیتوری را به دست آوردید، باید از ترمینال (از طریق دستورهای shell) برای جابجایی به مکانی که میخواهید کپی دایرکتوری را قرار دهید استفاده کنید. برای مثال میتوانید آن را به پوشه Documents انتقال دهید. زمانی که آماده بودید، دستور زیر را وارد کنید:
$ git clone [HTTPS ADDRESS]
این دستور یک کپی محلی از ریپازیتوری موجود در آدرس فوق ایجاد میکند.
اکنون این ریپازیتوری روی سیستم شما قرار دارد و باید با دستور زیر به مکان آن جابجا شوید:
$ cd [NAME OF REPOSITORY]
نکته: زمانی که یک ریپازیتوری را کلون میکنید، گیت یک ریپازیتوری روی رایانه شما ایجاد میکند. اگر دوست داشته باشید، میتوانید با رابط کاربری رایانه نیز به پروژه خود دسترسی داشته باشید.
ویرایش ریپازیتوری
اکنون میتوانید از طریق ترمینال یا رابط کاربری رایانه خود فایلی به نام «README.md» در پوشه پروژه ایجاد کنید. ما قصد نداریم در خصوص جزییات این مرحله به شما توضیح دهیم، چون موضوع خاصی وجود ندارد. کافی است پوشه را باز کنید و چنان که به طور معمول عمل میکنید، یک فایل در آن ایجاد کنید.
اگر میخواهید این کار را به روشی جالب انجام دهید، قالب ارائه شده در ادامه را در فایل README.md کپی کنید و اطلاعات را جایگزین نمایید تا یک خروجی شخصیسازیشده داشته باشید.
1### My first repository is awesome!
2
3I'm [PSEUDO/NAME] and here it's my first GitHub repository.
4If you see this file on my project, it's because I'm learning Git.
5
6My mood:
7
8> [MOOD NAME]
9
10My favorite color:
11
12> [COLOR NAME]
13
14Thank you so much for reading! ☺
به اشتراک گذاردن پروژه
اینک که پروژه را اصلاحکردهاید باید آن را ذخیره کنید. این فرایند «کامیت» (Commit) کردن نام دارد. به این منظور باید به ترمینال بازگردید. اگر ترمینال را بستهاید باید به نشانی پوشه مراجعه کنید.
زمانی که میخواهید کارهای خود را ذخیره کنید، به چهار مرحله نیاز دارید. این مراحل به ترتیب status ،add ،commit و push نامیده میشوند. ما یک رویه استاندارد برای شما آماده کردهایم تا هر بار که میخواهید کارهایتان را ذخیره کنید مورد استفاده قرار دهید.
نکته: همه مراحل زیر باید درون پروژه اجرا شوند.
status
نخستین کاری که در زمان ذخیرهسازی کارهای خود باید انجام دهید، بررسی فایلهایی است که تغییر دادهاید. به این منظور میتوانید دستور زیر را وارد کید تا فهرستی از تغییرها ظاهر شود:
$ git status
add
به کمک فهرست تغییرها میتوانید همه فایلهایی را که میخواهید با دستور زیر آپلود کنید:
$ git add [FILENAME] [FILENAME] [...]
در این مورد قصد داریم فایل README.md را اضافه کنیم، زیرا مقصود ما ذخیرهسازی این فایل است.
$ git add README.md
نکته: اگر در این مرحله دوباره دستور git status را اجرا کنید، میبینید که این بار فایل RADME.md به رنگ سبز ظاهر میشود. این بدان معنی است که ما فایل را به درستی اضافه کردهایم.
commit
اکنون که فایلهای منتخب خود را اضافه کردهایم، باید یک پیام بنویسیم و در آن کاری که انجام یافته را توضیح دهیم. این پیام بعدها در صورتی که بخواهیم سابقه تغییرها را بررسی کنیم مفید خواهد بود. مثالی از پیامی که میتوان نوشت به صورت زیر است:
$ git commit -m "Added README.md with good description in it."
push
بدین ترتیب به مرحله پایانی رسیدهایم، اینک میتوانیم کار خود را به صورت آنلاین منتشر کنیم. اگر دستور زیر را وارد کنید، همه تغییرهایی که اجرا کردهاید آنلاین میشوند و مستقیماً روی صفحه ریپازیتوری قابل مشاهده خواهند بود:
$ git push origin master
بدین ترتیب کار به پایان رسیده است. اگر به صفحه ریپازیتوری روی وبسایت گیتهاب بروید میتوانید فایل README.md را با پیشنمایش زیبایی مشاهده کنید.
دستورهای مفید برای گیت
شما به عنوان یک مبتدی در زمینه گیت باید با برخی دستورهای ضروری دیگر آن آشنا شوید. در ادامه فهرستی از دستورهایی را که در زمان کار روی پروژه مفید خواهند بود مشاهده میکنید.
نمایش سابقه کامیتها: با استفاده از دستور زیر میتوانید همه تغییرهایی را که روی پروژه اجرا شده است ملاحظه کنید:
$ git log
بازگردانی تغییرها: با استفاده از دستور زیر میتوانید تغییرهایی را که از زمان آخرین کامیت انجام یافتهاند، به حالت قبل بازگردانید.
$ git checkout.
بازگردانی تغییرات یک فایل: اگر میخواهید همه تغییرات یک فایل خاص را از زمان آخرین کامیت بازگردانید، میتوانید از دستور زیر استفاده کنید:
$ git checkout [FILENAME]
نمایش تغییرات فایل: برای نمایش تغییرهای یک فایل خاص از زمان آخرین کامیت از دستور زیر میتوان بهره گرفت:
$ git diff [FILENAME]
حذف فایلهای ناخواسته: برای حذف فایلهای ناخواسته (یعنی فایلهایی که کامیت نشدهاند) از پروژه میتوان از دستور زیر استفاده کرد:
$ git clean –dfx
افزودن همه فایلها: برای اضافه کردن همه فایلها و کامیت کردن آنها به صورت یکباره دستور زیر را اجرا کنید:
$ git commit -am [MESSAGE]
بدین ترتیب به پایان این مقاله رسیدیم. امیدواریم از خواندن این مقاله بهره علمی لازم را برده باشید.
- مجموعه آموزشهای برنامهنویسی
- آموزش گیت (Git) برای مدیریت نسخه توزیع شده
- مجموعه آموزشهای ابزارهای مهندسی کامپیوتر
- راهنمای پیشرفته Git برای مبتدیان — به زبان ساده
- 1۰ دستور گیت (Git) که باید آنها را بدانید — فهرست کاربردی
==
سلام و وقت بخیر دوست عزیز؛
به نظر میرسد مشکلی که به درستی تذکر دادید، ناشی از الزامات خاص شیوه نمایش کدها در صفحه وب باشد، چنان که اگر به متن کامنت خودتان (که عیناً تایید شده) توجه فرمایید، میبینید که دو خط تیره کوتاه به یک خط تیره بلند تبدیل شده است. در هر حال متن را طوری اصلاح کردیم که موجب گمراهی خوانندگان عزیز نشود.
از دقت نظر و توجه شما بسیار سپاسگزارم.
سلام خسته نباشید
برای فهمید ورژن گیت باید بجای git -version از git –version استفاده کرد
لطفا اصلاح کنید