در دنیای برنامهنویسی، درک و مدیریت نسخههای کد و پروژههای شما که شب و روز روی آن سخت کار میکنید ، ضروری است. در این مقاله، من شما را با Git و GitHub اشنا میکنم، یکی از سیستم های کنترل نسخه (version control) معروف که توسط بسیاری از توسعه دهندگان در سرتاسر جهان استفاده میشود، و همچنین چند دستور پایه Git، و اینکه چگونه یک local و یا ریموت (remote repository) را در GitHub با استفاده از ترمینال کامپیوتر MAC راهاندازی کنید.
Git و GitHub چی هستند؟
وقتی نوبت بهGitوGithubمیرسد ، اغلب مردم گیج میشوند و فکر میکنند که هر دوی آنها کمابیش یک چیز هستند، در حالی که Git یک سیستم کنترل نسخه (version control) رایگان و open source است در حالی کهGitHubیک پلت فرم میزبانی آنلاین برای خدمات مختلف است که در این مقاله به شما توضیح خواهم داد. حالا، شما ممکنه فکر کنید که version contro چیست؟ اجازه دهید این را با یک مثال ساده که در زیر اورده شده است درک کنیم.
فرض کنید، ابتدا، شما یک فایل با نام ABC.txt را در یک پوشه روی سیستم تان ایجاد کردهاید. با استفاده از مفاهیمversion contro، شما میتوانید تغییرات را مدیریت کنید، دنبال کنید، کامیت کنید، یا به حالت ایمن قبلی برگردانید و خیلی راحتتر از آن استفاده کنید. در نمودار بالا، فایل محلی میتواند به فایلهای قابل ردگیری تبدیل شود.مانند یک سیستم version contro با استفاده ازیک دستور Git .
چرا کنترل نسخه مهم است ؟
وقتی در حال برنامه نویسی هستیم به عنوان یک انسان، اشتباه کردن یک اتفاق رایج و طبیعی است و سپس خود را در موقعیتی قرار میدهیم که از آن به حالت اولیه باز گردیم ولی غیرممکن است زیرا از دست دادیمش. با استفاده از version control، میتوانیم فایلهای عظیم مان را به راحتی و به سرعت کنترل و دنبال کنیم.
اساسا سه نوع سیستم کنترل نسخه وجود دارد:
۱.سیستم کنترل نسخه محلی (Local version control) که در بالا نشانداده شدهاست.
۲.سیستم version control متمرکز.
۳.سیستم version control توزیعشده.
در اینجا، من فقط به سیستم version control محلی و سیستم version control توزیع شده علاقه دارم، با استفاده از دستورGitبرای مدیریت و دستکاری آنها و سپس اضافه کردن آن فایل ها به ریموت سیستم version control به میزبانی سایت هایی مانندGithubبرایVCتوزیعشده.
پس، امیدوارم فهمیده باشید کهGitوGitHubچی هستند؟GitHubیک پلتفرم میزبانی است. مثل یک سرور آنلاین که در آن شما میتوانید یک repository ایجاد کنید ، local repository را که با استفاده از فرمانهای (دستورات)gitدر کامپیوتر شخصی خود ایجاد کردهاید، push کنید، یک branch ایجاد کنید، کامنت بنویسید، یک pull request باز کنید و بسیار بیشتر.
دستورات پایه Git
چندین دستور Git وجود دارد اما برخی از موارد مهم را بررسی کردهام که یک مبتدی باید با آنها آشنا باشد:
1. Git Config
این فرمانی است که برای پیکربندی نام و ایمیل کاربر استفاده میشود. برای مثال:
۲. Git init
این فرمان برای ایجاد یک repository محلی از فایل شما استفاده میشود و سپس میتوانید تغییراتی را که در آینده ایجاد میکنید را دنبال کنید. این فرمان یک repositorygitخالی درون همان دایرکتوری که در حال حاضر در آن هستید ایجاد می کند. به عنوان مثال از کد در پایانه (terminal) استفاده کنید
3. Git Status
این فرمان برای نشان دادن فایلهایuntrackedدر دایرکتوری کاری تان استفاده میشود. بین repositorygitمحلی و فایل شما، یک ناحیه میانی به نام منطقه staging وجود دارد. فایلهایuntrackedفایلهایی هستند که تحت version control نیستند و در رنگ قرمز در پایانه نشان داده خواهند شد.
4. Git Add
این فرمانی است که برای اضافه کردن فایلuntrackedبه وضعیت tacked، از دایرکتوری فعلی استفاده میشود ، به طوری که شما می توانید تغییرات ایجاد شده را نگهداری کنید. کد دموی زیر را ببینید.
تاکنون ما همان گونه که در شکل زیر نشانداده شدهاست انجام دادهایم. من ازmacاستفاده کردهام برای نمایش به شما، و برخی از دستورهای پایهMACکه کما بیش شبیه به دستورهای cmd ویندوز هستند. امیدوارم که همه شما با برخی از فرمانهای پایه ترمینال آشنا باشید.
من یکdemoprojectرا با استفاده از فرمانmkdirروی دایرکتوری دسکتاپ ایجاد کردهام. من ۳ فایل با نام file 1، file 2، file3 را با استفاده از فرمان touch ایجاد کردهام. سپس آنها با استفاده از فرمانinitراهاندازی میشوند و در مرحله اولیه همه آنهاuntrackedهستند و به رنگ قرمز در صفحه نمایش دیده میشوند. برای ردیابی آنها، من از فرمان git Add استفاده می کنم و سپس آنها به رنگ سبز نشانداده می شوند.
5. Git Commit
این دستورات برای کامیت کردن تغییرات در فایل شما در repositorygitمحلی (local) است. به شکل زیر نگاه کنید.
6. Git Log
این دستوراتی است که برای دیدن تغییرات و یا کامیت های فایلهای خود استفاده میشود. به شکل زیر نگاه کنید.
کد hash نشاندادهشده در بخش هایلایت شده در بالا به طور منحصر به فرد این کامیت را مشخص میکند همراه با نام نویسنده و زمان آن.
7. Git Diff
فرض کنید شما یک فایل دارید و تغییراتی به امید اینکه درست انجام داده اید و آن را ذخیره کردهاید و سپس فایل را می بندید. زمانی که فایل خود را باز می کنید ، می بینید که تغییرات آن طور که انتظار میرفت کار نمیکردند و سپس شما می خواهید بدانید چه تغییراتی ایجاد کردهاید. خب با استفاده ازgitمیتوانید این کار را انجام دهید با استفاده از دستور Git Diff.
8. Git Checkout
هنگامی که تغییرات را دیدید ، و اگر میخواهید به حالت قبلی برگردید، این دستورات استفاده میشود.
9. Git Remote Add origin
این دستور برای وصل کردن حساب کاربری gitHub به repositorygitمحلی تان استفاده میشود.
10. Git Push -U Origin Master
این دستور repository محلی شما را به repository تحت کنترل از راه دور ساخته شده توسط gitHub، با استفاده از flag U ، Push میکند.
نصب و راه اندازیGitHubو Push کردن مخزن محلی تان
به https://github.com/ بروید و اگر حساب کاربری ندارید، یک حساب کاربری با ارائه یک نام کاربری، ایمیل و پسورد بسازید. زمانی که این کار را کردید، بایدidایمیل خود را تایید کنید.
شما به سمت صفحه راهنما هدایت خواهید شد که در آن علامت + در گوشه فوقانی نشاندادهشده و در شکل زیر نشانداده شدهاست.
حالا همان طور که در شکل نشاندادهشده ، گامهای زیر را دنبال کنید.
حال، ما میخواهیم repository محلی خود را به GitHub، push کنیم.
همانطور که در بالا نشانداده شدهاست، از فرمان git remote add origin استفاده کنید و نشانی اینترنتی حساب کاربری خود را که در جعبه قرمز نشانداده شدهاست کپی کنید و سپس از git push -u origin master استفاده کنید. این کار ممکن است از شما نام کاربری و پسورد بخواهد. آنها را وارد کنید و enterبزنید و کار تمام می شود ، repository محلی شما در سرورGitHubآپلود خواهد شد
حالا ترمینال شما باید چیزی شبیه شکل بالا به شما نشان دهد. زمانی که به حساب کاربری خود میروید، میتوانید فایل push شده خود را ببینید.
یک نمودار خلاصه.
نظرات کاربران در رابطه با این دوره