بکندباز

معرفی Github

امروزه توسعه نرم افزار به روش توزیعی صورت می گیرد. این مقاله بر روی یکی از این فناوری‌ها تمرکز دارد که از توسعه نرم‌افزار توزیع‌شده پشتیبانی می‌کند، یعنی GIT و کاربرد آن از طریق GitHub .

GIT در مورد چیست؟

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

چرا از نرم افزار کنترل نسخه استفاده کنیم؟

  • نرم افزار کنترل نسخه به کاربر اجازه می دهد تا “نسخه هایی” از یک پروژه را داشته باشد که تغییرات ایجاد شده در کد را در طول زمان نشان می دهد و به کاربر اجازه می دهد در صورت لزوم به عقب برگردد و آن تغییرات را لغو کند.
  • این توانایی مقایسه دو نسخه یا معکوس کردن تغییرات ، آن را در هنگام کار بر روی پروژه های بزرگتر بسیار ارزشمند می کند.
  • در یک سیستم کنترل نسخه، تغییرات دقیقاً به موقع ذخیره می شوند.
  • همه نسخه‌ها در یک سرور مرکزی ذخیره می‌شوند و توسعه‌دهندگان تغییرات را در این سرور بررسی و بارگذاری می‌کنند.

 ویژگی های Git

الف. پشتیبانی قوی از توسعه غیرخطی

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

ب. توسعه توزیع شده

  • Git یک کپی محلی از کل تاریخچه توسعه را برای هر توسعه دهنده فراهم می کند و تغییرات از یک چنین مخزن به مخزن دیگری کپی می شود.
  • تغییرات را می توان به همان روشی که در یک شاخه محلی توسعه یافته، بسیار کارآمد و مؤثر با شاخه های محلی دیگر ادغام کرد.

ج. سازگاری با سیستم/پروتکل موجود

  • Git دارای یک شبیه سازی سرور CVS است که استفاده از کلاینت های موجود CVS  و پلاگین های IDE را برای دسترسی به مخازن Git امکان پذیر می کند.

د. مدیریت کارآمد پروژه های بزرگ

  •  Git در مقایسه با سایر سیستم های کنترل نسخه بسیار سریع و مقیاس پذیر است.
  • قدرت واکشی از یک مخزن محلی بسیار سریعتر از آن است که با یک سرور راه دور امکان پذیر باشد.

E. تضمین داده ها

  • تاریخچه Git به گونه ای ذخیره می شود که شناسه یک نسخه خاص به تاریخچه کد منتهی به آن commit بستگی دارد.
  • پس از انتشار، امکان تغییر نسخه های قدیمی بدون اطلاع دیگران وجود ندارد.

F. زباله جمع آوری خودکار

  • هنگامی که اشیاء موقت به اندازه کافی در مخزن ایجاد شده باشد، Git به طور خودکار جمع آوری زباله  را انجام می دهد.
  • جمع آوری زباله را می توان با استفاده از git gc –prune فراخوانی کرد.

ز. بسته بندی اشیاء دوره ای

  •  Git هر شی جدید ایجاد شده را به عنوان یک فایل جداگانه ذخیره می کند. از بسته‌هایی استفاده می‌کند که تعداد زیادی از اشیاء را در یک فایل واحد (یا جریان بایت شبکه) به نام packfile ذخیره می‌کند که بین خودشان فشرده  شده‌اند.
  • یک فایل فهرست متناظر برای هر فایل بسته ایجاد می‌شود که مکان هر شی در فایل بسته را مشخص می‌کند.
  • فرآیند بسته بندی می تواند از نظر محاسباتی بسیار سنگین باشد.
  • Git اجازه می دهد تا عملیات سنگین بسته را تا زمانی که خلوت تر است به تعویق بیاندازد.
  • Git بسته بندی مجدد دوره ای را به صورت خودکار انجام می دهد ، اما بسته بندی مجدد دستی را می توان با دستور git gc انجام داد.

GIT چگونه کار می کند؟

  1. مخزن Git یک ذخیره‌سازی شی با ارزش کلیدی است که در آن همه اشیا با مقدار هش SHA-1 ایندکس می‌شوند.
  2. تمام commit ها، فایل ها، تگ ها و گره های درختی سیستم فایل، انواع مختلفی از اشیاء هستند که در این مخزن زندگی می کنند.
  3. مخزن Git یک جدول هش بزرگ است.
  4. Git به طور خاص با گرفتن ” عکس های فوری از فایل ها کار می کند

GitHub در مورد چیست؟

Github یک پلت فرم آنلاین است که می توانیم کدها (یا پروژه های) خود را به صورت آنلاین بدون دردسر به اشتراک بگذاریم. Github مکانی است که ما به صورت آنلاین مخزن git محلی خود را میزبانی می کنیم. اساساً به شما این امکان را می دهد که در یک گروه از مردم به طور مشترک کار کنید. همه ویژگی های Git را میزبانی می کند و ویژگی های خود را نیز دارد.

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

Github متعلق به مایکروسافت است و دسترسی به مخازن عمومی (رایگان) و خصوصی (رایگان) را فراهم می کند. این به مخزن رایگان اجازه می دهد تا فایل های تا 100 مگابایت و حجم کل 2 گیگابایت را میزبانی کند.

بیایید ببینیم چگونه از همان ابتدا در یک مخزن محلی Github میزبانی داشته باشیم (ایجاد یک حساب github).

A. ایجاد یک حساب GitHub

مرحله 1: به github.com بروید و اطلاعات کاربری مورد نیاز درخواست شده در سایت را وارد کنید و سپس روی دکمه SignUp for GitHub کلیک کنید.

2

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

3

مرحله 3: سپس بر روی Finish Sign Up کلیک کنید.

حساب کاربری ایجاد شده است. کاربر به طور خودکار به داشبورد هدایت می شود.

4

ب. ایجاد یک مخزن جدید 

  • به حساب Github خود وارد شوید
  • در داشبورد روی دکمه سبز New repository کلیک کنید.
  • حتماً با رفتن به ایمیلی که هنگام ایجاد حساب ارائه کردید، حساب Github را تأیید کنید.
  • هنگامی که تأیید انجام شد، صفحه زیر می آید

ج. با دادن نام مخزن، توضیحات (اختیاری) شروع کنید و حالت visibility و accessibility را برای مخزن انتخاب کنید.

د. روی Create repository  کلیک کنید

E. مخزن (در این مورد ITE-304 مخزن است) اکنون ایجاد شده است. مخزن را می توان به شکل زیر ایجاد کرد:

6

بارگذاری یک مخزن موجود در GitHub

  • می خواهیم مخزنی که در کامپیوتر خود به صورت لوکال داریم را به این مخزن آنلاین github متصل کنیم. خب، قبل از آن حتماً باید git را روی سیستم خود نصب کرده باشیم. نصب گیت روی ویندوز
  • یک دایرکتوری جدید برای گیت بسازید. کامندلاین را باز کرده و به دایرکتوری مورد نظر بروید و دستور زیر را در آن اجرا کنید.
git init
  • یک پوشه .git جدید در دایرکتوری ایجاد می شود که به طور پیش فرض مخفی است.
  • فایل های پروژه خود را در دایکتوری جدید خود اضافه کنید.
git add .
#افزودن فایل ها به مرحله استیج و آماده سازی برای commit
#در صورتی که بخواهید از استیج خارج شود از دستور زیر استفاده کنید 
git reset HEAD YOUR_FILE 

فایل هایی را که در مخزن محلی خود add کرده اید، commit کنید.

git commit -m 'First commit'
# Commits the tracked changes and prepares them to be pushed to a remote repository. 
  To remove this commit and modify the file, use
git reset --soft HEAD~1
  And commit and add the file again.    

در بالای صفحه راه اندازی سریع مخزن GitHub، روی نماد نشان داده شده کلیک کنید و URL مخزن remote را کپی کنید.

7

در Command Prompt، این URL را برای مخزن remote که مخزن محلی شما در آن کپی می شود، اضافه کنید.

git remote add origin remote repository URL
# به مخزن راه دور متصل می شود
git remote -v
 # URL راه دور جدید را تأیید می کند

تغییرات را در مخزن محلی خود به GitHub با دستور push ارسال کنید.

git push origin master
# تغییرات را در مخزن محلی شما به سمت مخزن راه دوری که به عنوان مبدأ مشخص کرده اید، هدایت می کند.   

 

8

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

git pull

شرکت ها و پروژه هایی که از GIT استفاده می کنند

  • شرکت‌های معروف و رویایی کار همه افراد حرفه‌ای مانند مایکروسافت، گوگل، فیس‌بوک، توییتر، لینکدین و نتفلیکس از GIT استفاده می‌کنند.
  • پروژه های منبع باز مانند Ruby On Rails، jQuery، Perl، Debian، Linux Kernel و بسیاری دیگر از git استفاده می کنند.
backendbaz

مدیر وب سایت بکندباز

دیدگاه‌ها

*
*