آموزش گیت - قسمت اول - معرفی گیت

آموزش گیت - قسمت اول - معرفی گیت

آموزش گیت - قسمت اول - معرفی گیت
آموزش گیت - قسمت اول - معرفی گیت

قسمت اول – معرفی گیت

سلام به روی ماه همتون. حالتون خوبه؟ قطعاً تو این اوضاع سخت که کرونا و جنگ و کلی خبر بد احاطه کرده، نیازه که بیشتر هوای همدیگه رو داشته باشیم، برا همین تصمیم گرفتیم یه ابزار خیلی مفید که شاید خیلیاتونم آشنا هستید رو باهم پیش بریم…

صبورانه همراه ما باشید.

 

معرفی گیت

براتون پیش اومده یک پروژه‌ای رو شروع کردید و لحظاتی بوده که مجبور بودید یه کپی ازش بگیرید؟! بعد کلی تغییرات اعمال کردید و مجدد کپی انگاری دچار یک چرخه باطل شدی …

کپی از کپی از کپی
تازه اگه سیستمم بپره چی؟! اگه کارفرما تو پروژه تغییرات داده باشه چی؟ اگه نیاز داشتید با آدم‌های مختلف تو دنیا کار کنی چیکار می‌کنی؟ چجوری تقسیم پروژه می‌کنی؟ چجوری نسخه‌های بدون باگ کجان؟ اگه داری سخت افزارتو تکمیل می‌کنی و شماتیک های مختلف؟ کتاب می‌نویسی و ویرایش‌های متعدد چی؟

 

نرم افزارهایی ساخته شده که پروژه شما رو مدیریت کنه (البته به کمک شما) که به آنها version control /source code management میگویند. که نرم‌افزارهای مدیریت کد به ۲ دستهٔ distributed و centeralized تقسیم می‌شوند:

دسته اول centeralized یا مرکزی: مانند CVS که در این دسته نرم‌افزار یک server و تعدادی client وجود دارد. به این صورت که تمامی تغییرات در server ذخیره می‌شود و کاربران (برنامه‌نویس‌ها) با استفاده از client تغییرات جدید را اعمال/دریافت می‌کنند.

دسته دوم distributed یا توزیع شده: مانند GIT در این دسته server حذف شده است و هر فرد می‌تواند یک server باشد و تاریخچهٔ کامل را در اختیار دارد. در این دسته تغییرات می‌تواند بدون در اختیار داشتن ارتباط انجام شود.

نگران نباشید در ادامه به بیشتر آشنا خواهیم شد..

بی شک یکی از نوابغ دنیای برنامه نویسی آقای لینوس توروالدز که هسته لینوکس را به ما هدیه کرد او ابتدا برای توسعه کرنل لینوکس از نرم افزارهایی مانند bitkeeper استفاده کرد که پس از مدتی مشکلاتی به وجود آمد به همین دلیل درسال 2005 منجر شد تا توروالدز خود دست به کارشده و با الهام از بیت کیپر، گیت را خلق کند. و از سال 2015 مدیریت و پشتیبانی گیت رو با تعریف از Junio C Hamano که یکی از مهندسان گوگل هست واگذار کرد.

با توجه به اینکه کاربرد این نرم افزارهای مدیریت یکسانه، دستورات مشابهی هم دارند.

  • init: ساخت مخزن جدید برای ذخیرهٔ تغییرات در آن.
  • checkout / pull / fetch: دریافت اطلاعات از مخزن و ساخت working tree.
  • switch branch: جا به جایی میان شاخه‌های مختلف توسعه.
  • add / delete / rename: انجام تغییرات روی پرونده‌هایی که SCM آن‌ها را پیگیری می‌کند.
  • commit: ذخیرهٔ دسته‌ای از تغییرات که ممکن است در پرونده‌های مختلف باشد.
  • status: نمایش وضعیت کنونی پرونده‌های پروژه.
  • diff: نمایش تغییرات انجام شده.
  • log: نمایش تاریخچهٔ تغییرات.

    برای نمونه در هر دو نرم‌افزار آپاچی ساب‌ورژن و گیت دستور log وجود دارد و به صورت svn log و git log مورد استفاده قرار می‌گیرد.

پس به چه دلیل ما گیت را انتخاب کرده‌ایم؟ (نمودار کوچک‌تر، یعنی سریع‌تر است).

 

برای دانلود می‌توانید به سایت گیت مراجعه کنید و نسخه موردنظر رو با توجه به سیستم خودتون دانلود و نصب کنید که من در ویندوز 10 پیش خواهم رفت.

 

پس از نصب انتظار میره که داخل cmd  اگر دستور git  رو تایپ کردید براتون یه توضیحاتی بیاره:

 

آموزش های عمو جادی

عمو جادی عزیز، دوره آموزشی برای گیت داره که در قسمت اول اون، از معرفی گیت و مقدماتش تا نصب اون رو براتون توضیح میده.

برای ثبت نام رایگان توی دوره گیت جادی هم می تونید از این لینک ثبت نام کنید.

تا جلسه بعدی شاد و پیروز باشید.

حمایت از محمدرضا عابدینی

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

محمدرضا عابدینی
محمدرضا عابدینی

درحال تلاش..

دیدگاه ها

1 دیدگاه

  • سیدوحیدرضا برهانی
    ۳ شهریور ۱۴۰۰

    منم چند وقت هست که دارم روی یک رابط گرافیکی گیت برای پروژه های دانشگاهی ساده کار می کنم که دانشجوها رو بیشتر با گیت آشنا کنم 🙂 چون از اینکه توی پروژه ها می دیدم که new folder داخل new folder درست می کنند، حرصم در می یومد!
    فعلا توی بهبود ux هست ولی درست بشه با سورسش منتشر می کنم.

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 11 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک