در این نوشته به توصیف یکی از مشهورترین سرویسهای میزبانی سیستم کنترل نسخه گیت یعنی گیتهاب پرداخته خواهد شد. گیتهاب که از سال ۲۰۰۷ شروع به ارائه خدمات کرده است، در حال حاضر محبوبترین و پر کاربرترین ارائه دهنده سرویس میزبانی گیت میباشد. لازم به ذکر است گیت یک نرم افزار کنترل نسخه و بازنگری و مدیریت کد میباشد. این نرم افزار ابتدا برای توسعه سیستم عامل لینوکس توسط لینوس تروالدز طراحی گردید ولی به مرور زمان مورد اقبال عمومی قرار گرفت و الهام بخش بسیاری از پروژههای دیگر گردید.
بسم الله الرحمن الرحیم
ایگیرمی بئش میلیوندان آرتیق ایشلدیچی ایله، گیتهاب ان چوخ تانینمیش و ان چوخ ایشلنیلن گیت سرویسی، گیت ایسه نسخه اداره ائتمه سیستمی دیر. گیت سیستمینی ایشلتمکله بوتون دَییشیکلیکلر پروژهلرین گئچمیشینده ثبت اولابیلرلر. داهی ایستهنیلن زمان اؤنجهکی نسخهلره قاییدیب، اونلاری ایندیکی نسخه ایله قارشیلاشدیرماق ممکن اولار. گیت نسخه اداره ائتمه سیستمینین باشقا خصوصیتی، پروژهنی بوتاقلاندیرماق و گرک ایکن بوتاقلاری پروژهنین داها کؤکلو بوتاقلارینا و گؤودهسینه ادغام ائتمک دیر. بو امکان واسطهسییله، پروژهنین باشقا قسملری و اونلارین گلیشدیریلمهسی اثرلنمهدن، پروژهلرده اولان باگلاری اصلاح ائتمک و یا ایستهنیلن یئنی قابلیتلری آرتیرماق راحاتلانابیلر. بونون اوچون ده گیتی ایشلتمکله یازیلیملاییچیلار اورتاق پروژهلر اوزره داها راحات چالیشابیلرلر. بو ایضاحلار ایله قیساجاسینا گیتهاب، یازیلیم گلیشدیریچیلرینین اورتاق پروژهلر اوزره بیرلیکده چالیشمالارینی و پروژهنین گئدیشینی اداره ائتمهلرینی راحاتلاتماق اوچون بیر سیرا امکانلاری سونان سایت دیر. بحثین دوامی اوچون گیت و گیتهابا داها درین باخاجاغیق.
نسخه اداره ائتمه سیستمی نه دیر؟
نسخه اداره ائتمه سیستمی بیر یا نئچه سند اوزره ائدیلن دَییشیکلیکلری ایزلهمهیه و اداره ائتمهیه یاردیمچی اولان بیر سیستم دیر. داها آرتیق یازیلیم موهندیسلری طرفیندن قایناق کُدوندا دَییشیکلیکلری ایزلهمک اوچون ایشلنیلن نسخه اداره ائتمه سیستمی، بوتون دَییشیکلیکلری تحلیل ائتمهلرینه و بیر خطا ائدیلدیگینده هر هانسی بیر منفی نتیجهسی اولمادان قایناق کُدونون قایتاریلماسینا امکان یارادیر. دئمک نسخه اداره ائتمه سیستملری گلیشدیریچیلرین عین زماندا بیرلیکده پروژهلر اوزره چالیشمالارینا یول آچیر و مسلکداشلارینین چالیشمالارینا اخلال ائتمهدن و یا اونلارین ایشینی گئجیکدیرمهدن لازم اولدوغوجا دَییشیکلیک یاراتمایا امکان وئریر. قایناق کُدوندا سؤز قونوسو اولان دَییشیکلیکلر إعمال اولورکن پروژهنی محو ائدرلرسه، نسخه اداره ائتمه سیستمی پروژهنین سون نسخهسینی قایتارابیلر. دئمک پروژهنی گلیشدیریرکن ریسکلرین چوخو آرادان قالدیریلیر و یازیلیملاییچیلار داها دینج چالیشابیلیرلر. قیساسی، نسخه اداره ائتمه سیستملری خطالارین احتمالینی آزالدیب، یازیلیملاییچیلارین بیرلیکده چالیشمالارینی راحتلادیرلار.
گیت نه دیر؟
گیت آچیق قایناقلی نسخه اداره ائتمه سیستمی دیر و ۲۰۰۵-۲۰۰۷ ایللرینده لینوس تروالدز طرفیندن لینوکس اوزره چالیشدیغی زمان گلیشدیریلمیش دیر. گیت قیسا زماندا آدلیم و ان چوخ ایشلنیلن نسخه اداره ائتمه سیستمی اولموش دور. تخمینا گلیشدیریچیلرین یوزه سکسن یئتدیسی نسخه اداره ائتمه اوچون گیتدن فایدالانیرلار. گیت داغیدیلمیش یعنی توزیع اولموش نسخه اداره ائتمه سیستمی دیر. دئمک اریشیم اذنلری اولان ایشلدیچیلر بیر-بیرلریندن مستقل اولاراق گیت یاراقلاری ایله پروژهنین قایناق کُدلارینی و دَییشیکلیک گئچمیشینی اداره ائدهبیلرلر. گیت واسطهسییله اداره ائدیلن پروژهیه یئنی خصوصیتلری آرتیریرکن پروژهنی بوتاقلاندیرماق ممکن دور. بوتاقلار پروژهنین قایناق کُدلارینا احتوا ائدن لکن پروژهنین آنا بوتاغیندان آیری اولان محلی نسخهلر دیرلر. یئنی خصوصیتلرین گلیشدیریلمهسی سونا چاتمایینجا دَییشیکلیکلر بو نسخهلر اوزره اعمال اولاجاقلار. خصوصیتلرین گلیشدیریلمهسی سونا چاتارکن ادغام ایستگی ایله بوتاق پروژهنین آنا بوتاغی ایله ادغام اولونابیلر.
هاب نه دیر؟
گیت، گیتهابین قلبی ایسه، هاب اونون روحو دور. هاب واسطهسییله گیتهاب، گلیشدیریچیلرین ان بؤیوک اجتماعی شبکهسینه چئوریلمیش دیر. بیرلیکده پروژهلر اوزره چالیشماقدان علاوه گیتهابدا ایشلهدیچیلر بیر-بیرلرینی ایزلهیهبیلرلر. داهی بو ایزلهمک واسطهسییله اونلارین آچیق قایناقلی چالیشمالارینی گؤروب اونلاردان یارارلانیب اونلارین گلیشمهسینده یاردیمچی اولابیلرلر.
گیتهاب نه دیر و نهدن آدلیم اولموش دور؟
گیتهاب اوزرینده، چوخو آچیق قایناقلی اولان، یوز میلیوندان آرتیق کُد مخزنی وار دیر. بو اینانیلماز بؤیوک سایی گیتهابین قابلیتلرینین انعکاسی دیر. بؤیوک تجاری شرکتلر و آدلیم بیلیم یوردلاری دا گیتهاب اوزرینده اکانتلاری اولوب، بو واسطه ایله اؤز آچیق قایناقلی پروژهلرینی دونیا باشا باشیندا اولان ایشلهدیچیلره و آراشدیرماچیلارا سونموشلار. گیتهابی ایشلتمک گیت ایله مقایسهده داها راحات دیر. البته گیت اوچون ده چوخلو ایشلهدیچی رابطلری وار دیر و بو ایشلهدیچی رابطلری، گیت ایله گیتهابی بیر-بیرلرییله علاقهلندیرهبیلرلر.
گیتهابی نئجه ایشلدهبیلریک؟
گیتهابین اساس امکانلاری اجرتسیز اولوب، بو اساس امکانلار سینیرسیز شخصی یا عمومی مخزنلر یاراتماق داهی پکیجلر اوچون بئش یوز مگابایتلیق فضا دیر. باشقا تخصصی امکانلاری گیتهاب اجرتلی شکلده سونور.
۱. گیتهاب مخزنینی اولوشدورماق
گیتهاب مخزنلری هانسی بیر پروژهنین اساس هابی دیرلار. پروژه ایله علاقهلی بوتون سندلر، کُدلار، تصویرلر و باشقا شیلر بو مخزنده ییغیشاجاقلار. مخزنلر گیتهابین بولوت فضاسیندا ساخلانیلارلار لکن اونلاردان محلی نسخهلر یاراتماق دا ممکن دور. یئنی بیر پروژه و اونونلا برابر یئنی بیر مخزنی باشلاماق اوچون عضو اولوب سایتا گیرندن سونرا بو لینکدن اقدام ائدهبیلرسینیز:
بو لینکی آچاندان سونرا یئنی پروژه اوچون بعضی بیلگیلر ایستهنیلهجک دیر. بو بیلگیلر مخزنین آدی، اولوشدورولان مخزن اوچون قیساجا آچیقلاما، مخزنین عمومی یوخسا شخصی اولماسی و مخزن یارادیلان زمان هانسی فایللارین اتوماتیکجه یارادیلماسی دیر. مخزن اوچون وئردیگینیز آد اؤز مخزنلرینیز ایچینده تایسیز اولمالی دیر، لکن عمومیتده گیتهابدا او آددا باشقا مخزن اولسا دا اولوب دور. اولوشدورولاجاق مخزنین قیساجا آچیقلانماسی اختیاری اولسا دا، یازیلماسی مخزنینیزین داها راحات آختاریشلاردا تاپیلماسینا سبب اولابیلر. اتوماتیکجه یارادیلابیلن فایللار readme فایلی، gitignore فایلی و لایسنس فایلی دیر.
بو فایللار اولمادان یئنی بیر مخزنی یارادابیلسهنیز ده، اولمالاری چوخ یارارلی دیر. readme فایلی پروژهنین داها گئنیش و داها درین بیر آچیقلاماسینا احتوا ائدهبیلر. بوندان علاوه بو فایلین ایچیندهکیلر گیتهاب اوزره مخزنینیزین باش یاپراغیندا گؤستریلهجک دیر. gitignore فایلی اهمیتلی فایللاردان بیری اولوب، محلی بیر گیت مخزنینی گیتهاب مخزنی ایله علاقهلندیرندن سونرا، محلی دَییشیکلیکلری گیتهاب اوزرینه گؤندریرکن ایشلنهبیلر. بو فایلدا بلیرتیلن فایللار و دایرکتوریلار، محلی گیت مخزنی گیتهابا گؤندریلیرکن، ignore اولونارلار. دئمک بو فایللار و دایرکتوریلار گیتهابا گؤندریلمزلر. لایسنس فایلی ایسه سیزین پروژهنین باشقا ایشلهدیچیلر و مؤسسهلر طرفیندن ایشلنمهسی اوچون مجوزلره احتوا ائدهر. لایسنس فایلی اوچون مشخص قالبلر ده وار دیر. بونلاردان ان آدلیمی GPL-3 MIT و APACHE دیرلر.
۲. گیتهاب مخزنینی بوتاقلاندیرماق
پروژهیه یئنی اؤزللیکلر آرتیرماق، داهی خطالارین اصلاحی، بوتاقلاندیرماق ایله راحاتلانار. پروژهنین اساس بوتاغیندان آییریلان بوتاق (یا انشعاب) پروژهنین اؤزونو اثرلندیرمهدن یازیلیملاییچییا دییشیکلیکلرین اعمالی اوچون امکان یارادار. بوندان علاوه اؤزللیکلرین آرتیریلماسی و خطالارین اصلاحی قورتولورکن، آییریلمیش بوتاق یئنه پروژهنین اساس بوتاغینا قوشولمالی دیر. البته بو قوشولمادان اؤنجه دییشیکلیکلرین، اساس بوتاغی نئجه اثرلندیرهجگینی گؤزدن گئچیرمک ده ممکن دیر. قیساجا سؤیلرسهک، بوتاقلار اوزره یازیلیملاییچینین چالیشماسی پروژهنین باشقا قسملرینی ایستهنیلمهمیش اثرلنمهلردن قورویاجاق دیر.
یوخاریداکی تصویرده بیر پروژه اوچون اولوشدورولموش گیتهاب مخزنینین باش یاپراغیندا یئنی بیر بوتاغین نئجه یارادیلماسی گؤستریلمیش دیر. پروژهده یئنی بیر بوتاق یاراناندان سونرا آنا بوتاغین بوتون خصوصیتلرینی داشییار.
۳. گیتهاب گؤندریلری نه دیرلر؟
گیتهاب اوزرینده قید ائدیلن دَییشیکلیکلر، گؤندری (یا commit) آدلانار. بوتاقلار دییشدیریلن زمان اونلارین ساخلانیلماسی اوچون commit ـلهمک ضرورت دیر. دییشیکلیکلری گؤندرمک اوچون هانسی بیر بوتاق ایچینده هانسی بیر سند اوزره دییشیکلیک قورتولاندان سونرا Commit Changes ـی کلیکـلهمهلیسینیز. گؤندریلر اوچون قیسا بیر آچیقلامانی یازماق، دییشیکلیکلری یئنهدن اوخودوغونوز زمان یارارلی اولابیلر.
۴. گیتهابدا چکمک ایستکلری
گیتهابدا چکمک ایستگی یا pull request، پروژهنیزده بیرلیکده چالیشدیغینیز إنسانلاری بیر بوتاقدا ائتدیگینیز دییشیکلیکلری باش بوتاغا (یا آنا بوتاغا) گؤندردیگینیزه دائر بیلگیلندیردیگینیز آنلامینا گلمکده دیر. بو دییشیکلیکلرین باش بوتاغا چکیلیب اونا قوشولماسی اوچون باش بوتاغین یییهسینین تاییدی گرک دیر.
گیتهابدا pull request گؤندرمک اوچون Pull Requests قسمینده New Pull Request اوزرینه کلیکـلهمهلیسینیز. دوامیندا Example Comparisons قسمینده اؤنجه اوزرینده چالیشدیغینیز بوتاغی سئچینیز.
دییشیکلیکلری بیر یول داها گؤزدن گئچیرینیز و Create pull request اوزرینه کلیکـلهیینیز. آچیلان یئنی صفحهده ایستگینیزین باشلیغینی داهی قیساجا بیر آچیقلامانی یازینیز. آچیقلاما سیزین، پروژهنی نئجه دییشدیردیگینیزه احتوا ائتمهلی دیر. سوندا Create pull request اوزرینه کلیکـلهیینیز. بوندان سونرا باش بوتاقدا چالیشان گلیشدیریچیلر سیزین دییشیکلیکلرینیزی پروژه ایله بیرلشدیرهبیلهجکلر یعنی یاراتدیغینیز یئنی اؤزللیکلر یا خطالارین اصلاحی پروژهیه قوشدورولابیلهجکلر.
۵. گیتهابدا چکمک ایستگینی باش بوتاق ایله بیرلشدیرمک
پروژهده اولان بیر بوتاقلاماقدان سیزه گلن چکمک ایستگینی تایید ائدیب، یئنی دییشیکلیکلری باش بوتاق ایله بیرلشدیرمک اوچون Merge pull request اوزرینه، سون تأیید اوچون ایسه Confirm merge اوزرینه کلیکـلهمهلیسینیز. سؤیلهدیگیمیزجه بوتاقلار یئنی بیر اؤزللیک یا خطالارین اصلاحی اوچون یارانارلار. بونون اوچون ده بیر بوتاقدا بو آماجلار اوچون چالیشما بیتندن سونرا Pull request گؤندریلر. دئمک چکمک ایستگی گلدیکدن سونرا بوتاغین ساخلانیلماسینا داها گرک یوخ دور. ایشی بیتمیش و چالیشماق اوزرینده قورتولموش بیر بوتاغی یوخالتماق اوچون Delete branch اوزرینه کلیکـلهیهبیلرسینیز.
گیتهاب سایتیندا بو مسئلهلری قیساجا آچیقلایان بیر یازی وار دیر. اونو اوخویوب گؤزدن گئچیرمک ده یارارلی دیر.
۶. گیتهابدا پروژهنی چاتاللاماق
چاتاللاماق یا Forking بیر پروژهنی یئنی پروژه باشلاماق اوچون اساس آلیب بوتون سندلرینین کُپیسینی باشقا بیر مخزنه داشیماق معنیسینده دیر. بیر مخزنی Forkـلاماق اوچون اونون باش یاپراغینا گئدیب Fork اوزرینده کلیکـلهمهلیسینیز.
سونوچ
آرتیق سیز گیتهابین نه اولدوغونو و نئجه ایشلنیلمهسینی اؤگرنمیشسینیز. گیتهاب یالنیز یازیلیملاییچیلار و بیلگیسایار مهندیسلری طرفیندن دییل، اورتاق شکلده سندلر اوزره چالیشیب اونلاری گلیشدیرنلرین هامیسینا یارارلی بیر وسیله دیر. دئمک گیتهابی ایشلتمک اوچون یازیلیملاییچی اولماغینیز گرک دییل دیر. گیتهاب، اؤرنک اوچون، حتی ادبی بیر اثری بیرلیکده تصحیح ائدنلر طرفیندن ده ایشلنهبیلر.
بو یازی آشاغیداکی لینکدن گؤتورولموش دور: