گیت و گیت هاب در دنیای برنامه نویسی جایگاه بسیار ویژه ای دارد. اگر دوست دارید بدانید که git و github چیست، این مقاله کد یاد را تا آخر بخوانید. شاید شنیده باشید گیت هاب (GitHub) یک شبکه اجتماعی برای برنامه نویسان است و یا محیطی برای کنترل ورژن است. اما شاید این تعریف هنوز کامل نیست. امروزه بیشتر برنامه نویسان و توسعه دهندگان از گیت هاب (GitHub) برای توسعه و مدیریت پروژه های خود استفاده می کنند. پس اگر شما یک برنامه نویس هستید بهتر است هرچه زودتر گیت هاب (GitHub) را یاد بگیرید، زیرا بیشتر شرکت های برنامه نویسی با گیت هاب (GitHub)کار می کنند.
گیت هاب چیست؟
گیت هاب یک پروژه منبع باز است که توسط خالق لینوکس، لینوس توروالدز آغاز شد و متیو مک کالو یکی از توسعه دهندگانGitHub، این گونه می گوید که Git برای کنترل نسخه، ویرایش و مدیریت پروژه ها استفاده می شود.
Git قلب GitHub است
اMcCullough می گوید می توان از Git برای مدیریت هر نوع پرونده دیگری مانند اسناد Word یا پروژه های Final Cut استفاده کرد. آن را به عنوان یک سیستم بایگانی برای هر پیش نویس یک سند در نظر بگیرید.
برخی از نسخه های قدیمی Git، مانند CVS و Subversion ،مخزن "repository" مرکزی تمام پرونده های مرتبط با یک پروژه را دارند. مک کالو توضیح می دهد که وقتی توسعه دهنده ای تغییراتی ایجاد می کند، آن تغییرات مستقیماً در مخزن مرکزی تغییر می کند.
اگر با سیستم های کنترل نسخه توزیع شده مانند Git می خواهید در پروژه ای تغییر ایجاد کنید ، کل مخزن را در سیستم خود کپی می کنید. شما می توانید تغییرات را در نسخه محلی ای که ساختید ایجاد کنید سپس تغییرات را در سرور مرکزی "بررسی می کنید". McCullough می گوید این امر باعث اشتراک گذاری کد میشود، و دیگر لازم نیست برای هربار تغییر کد به سرور وصل شوید.
هاب (Hub) چیست؟
بخش دوم کلمه گیت هاب، هاب (Hub) است. هاب یک دستگاه شبکه لایه ای فیزیکی است که برای اتصال چندین دستگاه در شبکه استفاده می شود.
آنها معمولاً برای اتصال رایانه ها به صورت LAN استفاده می شوند. هاب دارای درگاه های زیادی است. رایانه ای که قصد دارد به شبکه متصل شود، به یکی از این درگاه ها متصل می شود.بنابراین، گیت هاب یعنی یک مرکز برای گیت، مکانی که تمام فعالیتهای مربوط به گیت در گیت هاب رخ خواهد داد.
رابطه Github با Git
GitHub یک سرویس میزبانی یا یک مخزن "repository" برای گیت (Git) است. در حالی که Git یک ابزار خط فرمان است، GitHub یک رابط گرافیکی مبتنی بر وب است.
همچنین ویژگی هایی مانند کار تیمی، دسترسی افراد به کد ها و امکان مدیریت پروژه ها را برای شما فراهم می کند. همچنین شما میتوانید یک پروژه را از حساب یک کاربر دیگر بگیرید و در حساب خودتان وارد کنید. اگر تغییراتی ایجاد کنید که مایلید به اشتراک بگذارید
می توانید، اعلانی بنام "pull request" را به مالک اصلی ارسال کنید. سپس آن کاربر می تواند، با قبول کردن ، تغییرات موجود در repo شما را با repo اصلی ادغام کند.
اصطلاحات رایج در گیت هاب
Repository :
در فارسی به معنای منبع یا انبار است که گیت هاب بصورت مخفف به آن Repo می نامد.
Repo مکانی است که تمام فایل ها و پروژه ها در آن ذخیره می شود و هر Repo دارای یک URL منحصر به فرد است
Fork :
Fork به فارسی به معنای شاخه است، این کلمه در گیت و گیت هاب بیشتر بصورت Forking به کار میرود.
شما می توانید با استفاده از این ویژگی پروژه ای که قبلا وجود داشت را دریافت کنید و تغییرات خود را روی آن انجام دهید
و به عنوان یک repo انتشار دهید.
Branch :
Branch یا شاخه برای کپی کردن از شاخه اصلی است. این شاخه ها برای اضافه کردن ویژگی ها و تغییرات در پروژه استفاده می شود که از شاخه اصلی کاملا جدا است و
هیچ تاثیری رو شاخه اصلی ندارد، و بعد از آن که تغییرات را انجام دادیم می توانید با شاخه یا پروژه اصلی ادغام(Merge) کنیم. Merge کردن پروژه را می توانیم با pull request انجام دهیم
Commit :
هر تغییر یک Commit نامیده می شود، و هر یک از آن ها باید توضیح مختصری بنویسید که تغییر برای چه صورت گرفته و چه کاربردی دارد
Pull Request :
معنی فارسی این کلمه یکپارچگی یا ادغام کردن است. این ویژگی برای زمانی است که شما تغییرات یک پروژه را انجام داده اید و برای
مدیر پروژه ارسال می کنید تا مدیر پروژه از تغییرات با خبر باشد، و زمانی که Pull Request میکنید کد شما در پروژه (Repo) اصلی قرار می گیرد
سوابق تغییرات (Records of changes) :
زمانی که شما و دیگر برنامه نویسان پروژه را تغییر می دهید شاید در آینده برای شما سوال پیش بیاید که این تغییر توسط چه کسی، چه روز و ساعتی انجام شده است.
نگران این مشکل نباشید گیت هاب تمام تغییرات را با مشخصات ذخیره می کند.
چرا باید از GitHub استفاده کرد؟
اولین مورد این است که امکان همکاری آسان و کنترل نسخه را فراهم می کند. با این کار می توانید با هرکسی از هر کجا روی کد ها و پروژه ها کار کنید.
بعلاوه، بسیاری از کارفرمایان از GitHub استفاده می کنند. بنابراین، اگر قصد استخدام دارید، باید GitHub را یاد بگیرید، زیرا باعث بهبود رزومه شما می شود.
GitHub یک سیستم عامل یادگیری و همکاری قوی است. برای یادگیری آن وقت بگذارید و ببینید چقدر می تواند دانش برنامه نویسی شما را گسترش دهد
سیستم version control چیست؟
کنترل نسخه، به عنوان منبع کنترل شناخته می شود، و برای مدیریت تغییراتی است که در پروژه ها ایجاد می کنید. سیستم های کنترل نسخه
نرم افزارهایی هستند که به تیم های نرم افزاری کمک می کنند تا تغییرات کد منبع را با گذشت زمان مدیریت کنند.
گیت و گیت هاب این کارا برای ما انجام میدهند و به ما برای جلو بردن پروژه های کمک میکند تا به مشکلات کمتری برخورد کنیم و همچنین باعث می وشد
در وقتمان صرفه جویی کنیم.
چگونه از GitHub استفاده کنم؟
1. در GitHub ثبت نام کنید
برای استفاده از GitHub، به یک حساب GitHub نیاز دارید. می توانید یک حساب GitHub رایگان در اینجا ایجاد کنید و بعد از آن میتوانید از GitHub استفاده کنید کنید.
با یک حساب رایگان، به مخازن عمومی و خصوصی نامحدود دسترسی خواهید داشت. همچنین از ویژگی های ردیابی اشکال و مدیریت پروژه برخوردار خواهید شد.
تنها نکته منفی این است که فقط مجاز هستین به سه فرد برای دسترسی به مخازن خصوصی اجازه دهید. اگر هنوز در مرحله "GitHub برای مبتدیان" هستید
ثبت نام برای یک حساب رایگان مکانی عالی برای شروع است.
2. Git را نصب کنید
Git چیست؟
Git یک سیستم کنترل نسخه است که توسط, Linus Torvald ایجاد شده است. او در ابتدا Git را برای پیگیری تغییرات در تغییر کد منبع در حالی که در حال توسعه سیستم عامل لینوکس بود ایجاد کرد.
Git به برنامه نویسان کمک می کند تا در پروژه های پیچیده، توسعه دهندگان و برنامه نویسان همکاری ، هماهنگی و کار مشترک داشته باشند.
Git تغییرات را پیگیری می کند و به تیم ها کمک می کند تا از راه دور روی برنامه های پیچیده کار کنند. برای نصب Git در رایانه خود اینجا کلیک کنید.
برخی ترجیح می دهند با استفاده از خط فرمان در خود Git تغییراتی ایجاد کنند.
GitHub با Git اجرا می شود.
3. مخزن ایجاد کنید
برای انجام هر کاری در GitHub، باید بدانید که چگونه ابتدا مخزن را راه اندازی کنید. مخزن "repository" (یا repo) اساساً با کلمه پروژه "project" مترادف است.
خیلی ساده ، یک مخزن "repository" مربوط به یک پروژه خاص را از جمله پرونده ها، تصاویر، صفحات گسترده، مجموعه داده ها و فیلم ها ذخیره می کند، که اغلب به پروژه "project" مرتب می شوند.
بهتر است یک پرونده README در مخزن خود قرار دهید که دارای اطلاعات خاصی در مورد پروژه باشد. در GitHub، می توانید هنگام ایجاد مخزن جدید ، یک فایل README را درست اضافه کنید.
4- یک Branch ایجاد کنید
Branching به شما امکان می دهد چندین نسخه منحصر به فرد از یک مخزن را همزمان ویرایش کنید. مخزن شما به طور خودکار دارای یک شاخه مشخص به نام master است.
شما می توانید در چندین شاخه مختلف کار کنید و بعد از آن به شاخه اصلی انتقال دهید.
یک branch معمولاً قبل از اینکه در شاخه اصلی ادغام شود مراحل تأیید زیادی را طی می کند. برای راه اندازی شاخه جدید در GitHub به مخزن جدید خود بروید روی منوی کشویی
"branch: master" کلیک کنید، نام شاخه ای را تایپ کنید (مانند README-edits) و سپس “create branch” را بزنید. شاخه ها برای ویژگی های جدید یا رفع اشکال ایده آل هستند.
5. ایجاد تغییر در یک Branch
برای ایجاد تغییر در یک Branch در GitHub، به نمای کد برای Branch تازه ایجاد شده خود بروید. روی فایلی که می خواهید تغییر دهید کلیک کنید
سپس نماد مداد را در بالا سمت راست بزنید، هرگونه ویرایش لازم را انجام دهید، تغییرات خود را با نوشتن یک پیام commit توصیف کنید
و سپس "commit changes" را کلیک کنید. هر تغییر ذخیره شده را commit می نامند. پیام های commit سابقه ای از تغییرات را ارائه می دهند و
به همکاران کمک می کنند تا درک کنند که پروژه چه تغییری کرده است.
6. درخواست Pull
برای اینکه هر branch در merged شخص دیگری ادغام شود، باید pull request دهید. درخواست روشی است که GitHub به اطلاع طرفین مربوطه در مورد درخواست شما
برای درج تغییرات در branch خود می دهد. یک pull request تفاوت های موجود در شاخه ها را با رنگ قرمز و سبز نشان می دهد. هر وقت commit خود را تکمیل کردید می توانید
pull request بدهید،
برای باز کردن یک pull treques، به برگه "new pull request" بروید و دکمه ای را که می گوید "new pull request" ضربه بزنید. بعد، در جعبه "example comparisons" شاخه ای را که ایجاد کرده اید پیدا کنید
و آن را با master مقایسه کنید. اطمینان حاصل کنید که تغییرات را درست است و سپس بر روی دکمه "create pull request" کلیک کنید. درخواست خود را عنوان کنید و تغییرات را به طور خلاصه شرح دهید.
برای پایان دادن به، "create pull request" را کلیک کنید.
7. درخواست Pull خود را Merge کنید
ادغام pull request امری است که شما باید آنرا انجام دهید تا کد ها برای مدیر پروژه ارسال شود. اگرچه به خاطر یادگیری، می توانید خودتان تمرین کنید.
شما به سادگی می توانید با زدن دکمه ی "merge pull request" و بعد از آن، "confirm merge" را انتخاب کنید و سپس branch را که ادغام کرد اید پس از اینکه در برنامه اصلی وارد شد حذف کنید.
اطلاعات بیشتر در مورد GitHub : انجمن منبع آزاد
به سرعت خواهید فهمید که GitHub فراتر از یک سیستم عامل کنترل نسخه است. خواهید فهمید که این تقریباً نوعی بستر رسانه اجتماعی برای برنامه نویسان است.
انجمن GitHub به شما امکان دسترسی به میلیون ها پروژه متن باز را می دهد. در آنجا می توانید با یک پروژه درگیر شوید یا یکی از کارهای خود را شروع کنید.
کار بر روی نرم افزار منبع باز راهی عالی برای یادگیری مهارت های جدید و همکاری با برنامه نویسان درخشان است که می توانید از آنها چیزهای زیادی یاد بگیرید.
کلام آخر
امیدوارم که تا به اینجا با مفهوم گیت و گیت هاب آشنا شده باشید و درک کرده باشید که یادگیری گیت برای توسعه دهنگان و برنامه نویسیان
کاری ضروری است. سعی کنید در پروژه هایی که برای تمرین و یادگیری میزنید از گیت و گیت هاب کمک بگیرید و پروژه های خود را مدیریت کنید
در آخر اگر احساس می کنید که این مقاله به شما کمک کرده است برای دوستان خود ارسال کنید.
برای آموزش دوره های رایگان برنامه نویسی کدیاد به لینک زیر مراجعه بفرماِیید